半色調(diào)技術(shù)應(yīng)用于印刷領(lǐng)域已有一個(gè)多世紀(jì),應(yīng)用在數(shù)字輸出設(shè)備上也有40多年。隨著激光打印機(jī)、噴墨打印機(jī)、數(shù)字印刷機(jī)、數(shù)碼相機(jī)和等離子顯示屏等數(shù)字輸出設(shè)備應(yīng)用越來越普遍,數(shù)字半色調(diào)技術(shù)受到生產(chǎn)廠家和研究機(jī)構(gòu)的普遍關(guān)注。除了在印刷與圖像輸出方面的應(yīng)用,數(shù)字半色調(diào)技術(shù)還應(yīng)用于壓縮存儲(chǔ)、紡織以及醫(yī)學(xué)等領(lǐng)域。因此,數(shù)字半色調(diào)技術(shù)具有重要的理論意義和使用價(jià)值。
眾所周知,數(shù)字半色調(diào)技術(shù)是指基于人眼視覺特性和圖像呈色特性,利用數(shù)學(xué)、計(jì)算機(jī)等工具,在二值(或多色二值)呈色設(shè)備上實(shí)現(xiàn)圖像的最優(yōu)再現(xiàn)的一門技術(shù)。數(shù)字半色調(diào)是利用人眼的低通特性,當(dāng)在一定距離下觀察時(shí),人眼將圖像中空間上接近的部分視為一個(gè)整體。利用此特性,人眼觀察到的半色調(diào)圖像局部平均灰度近似于原始圖像的局部平均灰度值,從而整體上形成連續(xù)色調(diào)的效果。
根據(jù)數(shù)字半色調(diào)的應(yīng)用特性和不同領(lǐng)域,人們提出了許多算法。按照算法的處理方式對(duì)之進(jìn)行分類時(shí),可分為點(diǎn)處理算法、鄰域處理算法和迭代法。點(diǎn)處理算法是最簡單的方法,這類算法利用數(shù)字方式來模擬印刷工業(yè)中傳統(tǒng)的接觸加網(wǎng)過程,其產(chǎn)生的半色調(diào)圖像中的每個(gè)像素單元僅取決于像素的階調(diào)。其中最重要的方法有半色調(diào)模板法和抖動(dòng)法;鄰域處理算法對(duì)連續(xù)調(diào)圖像待處理像素的鄰域內(nèi)多個(gè)像素進(jìn)行計(jì)算,以獲得半色調(diào)圖像的像素值。這類算法中較典型的是誤差擴(kuò)散算法;迭代法是一種迭代處理的算法,它需要多次比較計(jì)算以獲得最優(yōu)的半色調(diào)圖像。所以,其計(jì)算量最大。本文主要介紹幾種具有代表性的數(shù)字半色調(diào)算法。
一、有序抖動(dòng)算法(ordered dither)
在這種加網(wǎng)算法中,將輸入圖像和一個(gè)周期的閾值矩陣(或稱為加網(wǎng)矩陣)進(jìn)行比較。閾值矩陣,這里N定義了閾值矩陣的周期。
對(duì)于一個(gè)特定的閾值矩陣t(n) ,其有序抖動(dòng)加網(wǎng)算法可以如下描述:
輸入圖像 應(yīng)該被歸一化,即0≤x(n)≤1。當(dāng)h(n)=0時(shí),半色調(diào)輸出的像素為白點(diǎn),當(dāng)h(n)=1時(shí),半色調(diào)出的像素為黑點(diǎn)。閾值矩陣決定了當(dāng)亮度減小時(shí)網(wǎng)點(diǎn)變成黑點(diǎn)的順序,它也決定了半色調(diào)圖像的質(zhì)量。有序抖動(dòng)算法隨著閾值矩陣的不同設(shè)計(jì)而具有不同的特點(diǎn),最簡單的閾值矩陣是那種每個(gè)像素點(diǎn)都是固定值的矩陣:t(n)=0.5。如果對(duì)圖像實(shí)行具有這種閾值矩陣的有序抖動(dòng)算法,大多數(shù)存在連續(xù)調(diào)圖像的細(xì)節(jié)被丟失,并且得到的相應(yīng)半色調(diào)圖像對(duì)比原連續(xù)調(diào)圖像存在很大的失真。
一般的,有序抖動(dòng)分為點(diǎn)聚集有序抖動(dòng)和點(diǎn)離散有序抖動(dòng)。點(diǎn)聚集有序抖動(dòng)的加網(wǎng)矩陣被精心設(shè)計(jì)以模擬半色調(diào)處理過程。當(dāng)連續(xù)調(diào)圖像的像素密度減小時(shí),網(wǎng)點(diǎn)將在像素的周圍生成。點(diǎn)離散有序抖動(dòng)的設(shè)計(jì)規(guī)則是由Bayer提出的。他的研究指出,非理想人工紋理的可見性可以通過對(duì)不同亮度等級(jí)的網(wǎng)點(diǎn)模式進(jìn)行傅立葉分析得到。當(dāng)一個(gè)一致色塊的網(wǎng)點(diǎn)模式在不同波長都有成分時(shí),有限波長中最長波長對(duì)應(yīng)的成分就是可見度最高的成分;谶@個(gè)標(biāo)準(zhǔn),Bayer設(shè)計(jì)了優(yōu)化的加網(wǎng)矩陣,應(yīng)用這個(gè)矩陣的點(diǎn)離散有序抖動(dòng)得到的半色調(diào)圖像包含了更多的可見細(xì)節(jié)。
盡管點(diǎn)離散有序抖動(dòng)保留了更多的細(xì)節(jié),但由于“網(wǎng)點(diǎn)增加”的原因,在實(shí)際應(yīng)用中卻經(jīng)常使用點(diǎn)聚集有序抖動(dòng)。網(wǎng)點(diǎn)增加是由打印機(jī)的非理想特性造成的,雖然可以假定理想的打印機(jī)能夠產(chǎn)生具有預(yù)先定義的幾何形狀如方形的網(wǎng)點(diǎn),但由于油墨從預(yù)先定義的幾何形狀向周圍像素的擴(kuò)散,就會(huì)產(chǎn)生網(wǎng)點(diǎn)增加現(xiàn)象。而當(dāng)連續(xù)調(diào)圖像的像素密度降低時(shí),網(wǎng)點(diǎn)將從周圍像素生成,所以點(diǎn)聚集有序抖動(dòng)更易于阻止網(wǎng)點(diǎn)增加,從而在整體上減少了半色調(diào)圖像中的網(wǎng)點(diǎn)增加效應(yīng)。
二、誤差擴(kuò)散算法(Error Diffusion)
誤差擴(kuò)散算法是一種比較流行且半色調(diào)效果較好的算法,這種算法最早是由Floyed-Steinberg提出的。這種算法需要進(jìn)行鄰域處理,它能夠?yàn)橛∷C(jī)提供更高的半色調(diào)質(zhì)量并且不引起網(wǎng)點(diǎn)增大,產(chǎn)生的半色調(diào)圖像色調(diào)豐富,像素點(diǎn)的分布具有各向異性。
其基本思想是先按照一定的掃描路徑閾值量化圖像像素,然后將量化誤差以一定的方式擴(kuò)散到相鄰的未處理的像素上。
三、點(diǎn)擴(kuò)散法(Dot Diffusion)
Knuth提出的點(diǎn)擴(kuò)散半色調(diào)算法是一種企圖保留誤差擴(kuò)散的優(yōu)點(diǎn)的同時(shí)提供并行處理的一種算法。點(diǎn)擴(kuò)散算法只有一種設(shè)計(jì)參數(shù),即類矩陣C,它決定了像素被半色調(diào)處理的順序,一個(gè)連續(xù)調(diào)圖像像素的位置 根據(jù)被劃分到IJ類中,I和J都是不變的整數(shù)。
四、迭代半色調(diào)算法
迭代半色調(diào)算法的思想是先用一種簡單的方法得到初始的半色調(diào)圖像,然后對(duì)初始半色調(diào)圖像進(jìn)行迭代處理,使每次處理得到的半色調(diào)圖像具有更小的誤差,最后得到視覺最優(yōu)的半色調(diào)圖像。迭代半色調(diào)算法的優(yōu)點(diǎn)是得到的半色調(diào)圖像視覺效果非常優(yōu)秀,基本上沒有結(jié)構(gòu)性紋理;能夠正確地再現(xiàn)豐富的色調(diào)。但是基于這種算法的計(jì)算復(fù)雜度,迭代半色調(diào)算法一般很難用于實(shí)時(shí)處理場合,僅可以作為一種標(biāo)準(zhǔn)測試程序使用。
DBS用一個(gè)迭代的交換程序來減少誤差E,這種算法從隨機(jī)獲得的初始半色調(diào)圖像開始,按照從左到右,從上到下的順序掃描整個(gè)半色調(diào)圖像,對(duì)于半色調(diào)圖像的每個(gè)像素,評(píng)價(jià)將像素取反和將其值與周圍八個(gè)像素交換對(duì)得到的半色調(diào)圖像質(zhì)量的影響。如果任何的改變減小了誤差,這種使得誤差減小的變換就被保留,反復(fù)地在半色調(diào)圖像上執(zhí)行上述過程,直到整個(gè)過程沒有任何變換操作,DBS算法結(jié)束。
五、小結(jié)
總的說來,在這些半色調(diào)算法中,產(chǎn)生的半色調(diào)圖像質(zhì)量最好的是迭代算法,但是由于過于復(fù)雜的計(jì)算量,一般不在實(shí)時(shí)處理算法中使用。誤差擴(kuò)散算法是目前最為流行的半色調(diào)算法,其產(chǎn)生的半色調(diào)圖像無明顯龜紋,視覺效果較好。抖動(dòng)算法實(shí)現(xiàn)簡單,但在階調(diào)再現(xiàn)、空間分辨率和可見紋理等方面都存在一定的缺陷。而點(diǎn)擴(kuò)散算法實(shí)現(xiàn)了并行處理,但半色調(diào)圖像質(zhì)量方面還有待改善。
010-69584232