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