一、半色調(diào)原理
在電腦中我們見到的諸如JPED、BMP、GIF等等格式的照片都是一種連續(xù)色調(diào)的圖像,每一個像素點都是用紅R、綠G、藍B三原色疊加合成,其中每一個分量的范圍在0(黑色)~255(白色)共256種灰度值,所以每一個像素點都有16777216種顏色,呈現(xiàn)給人們的就是色彩細膩豐富、層次漸變的圖像。
各種打印機或印刷機的打印頭都是二值輸出設(shè)備,只有打印點(黑色)和不打印點(白色)兩種狀態(tài)。半色調(diào)技術(shù)就是將連續(xù)色調(diào)的圖像進行二值化的過程,在一個小的矩陣網(wǎng)格中用墨點的比例表現(xiàn)灰度。人眼觀察到的半色調(diào)圖像局部平均灰度近似于原始圖像的局部平均灰度值,從而利用人眼的視覺特征得到接近于原始圖像的印刷圖像,如圖1所示為放大后的半色調(diào)圖像。
圖 1 使用 Floyd & Steinberg error diffusion 算法生成的半色調(diào)圖像
一般彩色打印機只有4種、6種或者8種顏色。彩色打印機或者印刷機將顏料分別存儲,在紙張上每次打印一種顏色分量,經(jīng)過幾次不同顏色的疊加打印后,得到二值圖像,給人以視覺上的連續(xù)色調(diào)效果。
二、經(jīng)典的半色調(diào)算法
半色調(diào)技術(shù)應(yīng)用在印刷領(lǐng)域已有一個多世紀(jì)了,大量用在數(shù)字輸出設(shè)備上。按照頻域下不同的調(diào)制方法,傳統(tǒng)的半色調(diào)方法主要分為三類:調(diào)幅(AM)半色調(diào)、調(diào)頻(FM)半色調(diào)和調(diào)幅/調(diào)頻(AM/FM)混合版色調(diào)。
調(diào)幅半色調(diào)方法是通過調(diào)整打印墨點面積來再現(xiàn)原始圖像不同的灰度值,即打印墨點面積小則灰度值低,反之打印墨點面積大則灰度值高。調(diào)頻半色調(diào)方法是在打印墨點面積固定的前提下,通過改變打印墨點的頻率來再現(xiàn)不同的灰度值,頻率高打印墨點密度高則灰度值高,反之頻率低打印墨點密度低灰度值低;旌习肷{(diào)方法是打印墨點的面積和頻率隨灰度值改變。
根據(jù)半色調(diào)的應(yīng)用領(lǐng)域和不同特征,人們先后研究出許多半色調(diào)算法。其中比較著名的半色調(diào)算法有:模板法、對點進行處理的抖動算法、對領(lǐng)域處理的誤差擴散算法和迭代法。
1、模板算法
模板法是出現(xiàn)相對較早的數(shù)字半色調(diào)算法,其實現(xiàn)方法也較簡單。主要用于原始圖像的分辨率不高的場合。一般情況下不同灰度等級模板用一個NxN單元中打印墨點的多少來表示N^2+1級灰度等級。例如3x3的模板可實現(xiàn)0~9共10級灰度等級,5x5的模板可實現(xiàn)0~25共26種灰度等級。
圖2 3x3模板再現(xiàn)10級灰度
具體處理時,遍歷原始圖像的每個像素點,根據(jù)其灰度值用已建立的相應(yīng)灰度等級模板替代。若被替代的單元與模板同大小時,此方法稱為場置換法。場置換法中用與單元平均灰度值近似的灰度等級模板替換。比較而言,場置換算法處理前后,其分辨率相同。后一種方法比場置換算法保留了更多原始圖像的信息,另外原始圖像的分辨率下降了N^2倍,所以常用于設(shè)備的輸出分辨率相對原始圖像分辨率較高的場合。
總之,無論用灰度等級模板替換的是一個像素,還是相同大小的單元,其打印單元的間距相同,僅是單元中打印墨點的多少不同,因此都屬于調(diào)幅半色調(diào)算法。兩種算法再現(xiàn)圖像色調(diào)變化不夠柔和,有明顯的邊緣輪廓,現(xiàn)在很少使用。
2、抖動算法
這種半色調(diào)算法利用數(shù)字方式模擬印刷業(yè)中傳統(tǒng)的加網(wǎng)過程,該算法將輸入的圖像和一個閾值矩陣(或者加網(wǎng)矩陣,通常為方陣)進行比較,從而將灰度圖像轉(zhuǎn)為二值圖像。
經(jīng)典的就是誤差擴散算法, Floyd & Steinberg error diffusion
3、迭代法
迭代半色調(diào)算法的思想是先用一種簡單的方法得到初始的半色調(diào)圖像,然后對初始半色調(diào)圖像進行迭代處理,使每次處理得到的半色調(diào)圖像具有更小的灰度誤差,最后得到視覺最優(yōu)的半色調(diào)圖像。
典型的迭代算法是直接二進制位搜索(DBS)半色調(diào)方法。
0,// Floyd & Steinberg error diffusion
1,// Bayer ordered dispersed dot dithering (order 2 dithering matrix)
2,// Bayer ordered dispersed dot dithering (order 3 dithering matrix)
3,// Ordered clustered dot dithering (order 3 - 6x6 matrix)
4,// Ordered clustered dot dithering (order 4 - 8x8 matrix)
5,// Ordered clustered dot dithering (order 8 - 16x16 matrix)
6// Bayer ordered dispersed dot dithering (order 4 dithering matrix)
|