基于誤差擴(kuò)散的圖像處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,尤其設(shè)及一種基于誤差擴(kuò)散的圖像處理方法。
【背景技術(shù)】
[0002] 隨著科技的發(fā)展,目前已進(jìn)入信息爆炸的狀態(tài),尤其是圖像視頻類數(shù)據(jù),由于其傳 遞表達(dá)信息的直觀,應(yīng)用范圍越來(lái)越廣,隨之而來(lái)的問題就是如何用較少的資源開銷保存 較完整的圖像視頻信息。該問題主要表現(xiàn)在兩個(gè)方面:1)對(duì)于目前大多數(shù)的Sbit信息圖 像數(shù)據(jù),如何用較小的資源開銷如化it等保存完整的圖像視頻信息;2)目前出現(xiàn)了高bit 信息量的圖像數(shù)據(jù),如IObit圖像數(shù)據(jù),如何用現(xiàn)有Sbit資源保存較完整的圖像視頻信息。
[0003] 數(shù)字半色調(diào)技術(shù)值igital化Iftoning Technology)是基于人眼視覺特性和圖像 呈色特性,利用數(shù)學(xué)、計(jì)算機(jī)等工具,在二值(或多色二值)呈色設(shè)備上實(shí)現(xiàn)圖像的最優(yōu)再 現(xiàn)的一口技術(shù)。當(dāng)在一定距離下觀察時(shí),人眼將圖像中空間上接近的部分視為一個(gè)整體。利 用此特性,人眼觀察到的半色調(diào)圖像局部平均灰度近似于原始圖像的局部平均灰度值,從 而整體上形成連續(xù)色調(diào)的效果。
[0004] 誤差擴(kuò)散法是目前應(yīng)用較廣的數(shù)字半色調(diào)技術(shù),其原理就是按照一定的掃描路徑 量化圖像像素,然后將量化誤差W-定的方式擴(kuò)散到相鄰的未處理像素上。
[0005] 假設(shè)要用4bit數(shù)據(jù)帶寬表示Sbit的數(shù)據(jù),即原256 (也即則灰度級(jí)圖像上的一 個(gè)點(diǎn)(假設(shè)灰度值為120),現(xiàn)在要將其轉(zhuǎn)換為16 (也即24)級(jí),算法的具體實(shí)現(xiàn)包括W下步 驟:
[0006] 一、降灰度級(jí)計(jì)算:計(jì)算將灰度值120用16級(jí)表示后的值Value = 16X 120/256 =7. 5,保留整數(shù)部為該像素的灰度值;
[0007] 二、誤差擴(kuò)散至多個(gè)鄰近像素:將0.5的誤差擴(kuò)散到周圍像素上。W經(jīng)典的 Floyd-Steinberg誤差擴(kuò)散模板為例(如下表1. 1),將運(yùn)0. 5的誤差分為16份,按下述模 板進(jìn)行擴(kuò)散。
[0008]表 1. 1 Floyd-Steinberg 誤差擴(kuò)散模板
[0009]
[0010] 其中,當(dāng)前處理像素x(其用256級(jí)表示的灰度值為120)用16級(jí)表示后的灰度值 為 Pixel (i,j) = floor (16X 120/256) = 7 ;
[0011] 如表1. I所示,將0. 5的誤差按照誤差擴(kuò)散模板擴(kuò)散到當(dāng)前處理像素X的右方、左 下方、正下方W及右下方的相鄰像素上;具體擴(kuò)散如下:
[0012] PixeKi, j+1) = PixeKi, j+l)+0. 5X7/16
[0013] Pixel (i+1,j-1) = Pixel (i+1,j-l)+0. 5X3/16
[0014]Pixel (i+1, j) = Pixel (i+1, j)+0. 5X5/16
[0015] Pixel (i+1, j+1) = Pixel (i+1, j+l)+0. 5X1/16
[0016] S、對(duì)于一幅圖像數(shù)據(jù),則從圖像的左上角開始逐行遍歷處理每一個(gè)像素的灰度 值。已知的遍歷方式有兩種:一種為傳統(tǒng)遍歷方式,其是從左到右、從上到下進(jìn)行遍歷;另 一種為蛇形遍歷方式,其是奇數(shù)行從左到右、偶數(shù)行從右到左進(jìn)行遍歷;蛇形掃描方式的優(yōu) 勢(shì)主要體現(xiàn)在低灰上,避免灰度處理的不均勻性。
[0017] 此外,已知的誤差擴(kuò)散模板除了前述的Floyd-Steinberg誤差擴(kuò)散模板之外, 還有Basic誤差擴(kuò)散模板(如下表1.2)、Sierra誤差擴(kuò)散模板(如下表1.3) W及 Jarris-Judice-化nke誤差擴(kuò)散模板(如下表1. 4)。
[0018] 表1. 2Basic誤差擴(kuò)散模板
[0019]
[0020] 表1.SSierra誤差擴(kuò)散模板
[0021]
[002引 表1. AJarris-Judice-化nke誤差擴(kuò)散模板
[0023]
[0024] 然而,現(xiàn)有技術(shù)存在的技術(shù)問題是:目前不僅有室內(nèi)使用的像素點(diǎn)間距很小的顯 示裝置,同時(shí)有室外使用的像素點(diǎn)間距大且像素單位亮度大的顯示裝置,如L邸顯示裝置 等;對(duì)于像素點(diǎn)間距大且像素單位亮度大的顯示裝置,現(xiàn)有技術(shù)會(huì)在顯示裝置的最左邊一 列和/或最右邊一列存在銀齒狀。
【發(fā)明內(nèi)容】
[0025]因此,為克服現(xiàn)有技術(shù)中存在的缺陷和不足,本發(fā)明提出一種基于誤差擴(kuò)散的圖 像處理方法。
[0026] 具體地,本發(fā)明實(shí)施例提出的一種基于誤差擴(kuò)散的圖像處理方法,用于將灰度級(jí) 為2"的初始圖像轉(zhuǎn)換成灰度級(jí)為2 "的目標(biāo)圖像,其中,m,n為正整數(shù)且m〉n。具體地,所述 基于誤差擴(kuò)散的圖像處理方法包括步驟:逐像素行遍歷所述初始圖像中的每一個(gè)像素;對(duì) 位于一第一像素行頭部的至少一個(gè)像素的值進(jìn)行降灰度級(jí)計(jì)算W得到像素目標(biāo)值并利用 第一誤差擴(kuò)散模板進(jìn)行誤差擴(kuò)散;對(duì)位于所述第一像素行中間的至少一個(gè)像素的值進(jìn)行降 灰度級(jí)計(jì)算W得到像素目標(biāo)值并利用第二誤差擴(kuò)散模板進(jìn)行誤差擴(kuò)散;W及對(duì)位于所述第 一像素行尾部的至少一個(gè)像素的值進(jìn)行降灰度級(jí)計(jì)算W得到像素目標(biāo)值并利用第=誤差 擴(kuò)散模板進(jìn)行誤差擴(kuò)散。其中,所述第一誤差擴(kuò)散模板、所述第二誤差擴(kuò)散模板和所述第= 誤差擴(kuò)散模板互不相同。
[0027] 在本發(fā)明的一個(gè)實(shí)施例中,所述第一誤差擴(kuò)散模板用于將位于所述第一像素行頭 部的所述至少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤差擴(kuò)散至其尾部方向、正下方和下方尾 部方向的鄰近像素的值;所述第二誤差擴(kuò)散模板用于將位于所述第一像素行中間的所述至 少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤差至少擴(kuò)散至其尾部方向、正下方、下方頭部方向 和下方尾部方向的鄰近像素的值;W及所述第=誤差擴(kuò)散模板用于將位于所述第一像素行 尾部的所述至少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤差擴(kuò)散至其正下方和下方頭部方向 的鄰近像素的值。其中,所述第一像素行的遍歷方向?yàn)閺念^部至尾部。
[0028] 在本發(fā)明的一個(gè)實(shí)施例中,所述第一誤差擴(kuò)散模板為Basic誤差擴(kuò)散模 板,所述第二誤差擴(kuò)散模板選自于Floyd-Steinberg擴(kuò)散模板、Sierra擴(kuò)散模板和 Jarris-Judice-化nke擴(kuò)散模板之一。
[0029] 在本發(fā)明的一個(gè)實(shí)施例中,所述位于所述第一像素行頭部的所述至少一個(gè)像素為 所述第一像素行頭部的首個(gè)像素,所述位于所述第一像素行尾部的所述至少一個(gè)像素為所 述第一像素行尾部的最后一個(gè)像素,W及所述位于所述第一像素行中間的所述至少一個(gè)像 素為所述第一像素行中除所述首個(gè)像素和所述最后一個(gè)像素的其他像素。
[0030] 在本發(fā)明的一個(gè)實(shí)施例中,所述基于誤差擴(kuò)散的圖像處理方法還包括步驟:對(duì)位 于一第二像素行尾部的至少一個(gè)像素的值進(jìn)行降灰度級(jí)計(jì)算W得到像素目標(biāo)值并利用所 述第一誤差擴(kuò)散模板的翻轉(zhuǎn)模板進(jìn)行誤差擴(kuò)散;對(duì)位于所述第二像素行中間的至少一個(gè)像 素的值進(jìn)行降灰度級(jí)計(jì)算W得到目標(biāo)像素值并利用所述第二誤差擴(kuò)散模板的翻轉(zhuǎn)模板進(jìn) 行誤差擴(kuò)散;W及對(duì)位于所述第二像素行頭部的至少一個(gè)像素的值進(jìn)行降灰度級(jí)計(jì)算W 得到目標(biāo)像素值并利用所述第=誤差擴(kuò)散模板的翻轉(zhuǎn)模板進(jìn)行誤差擴(kuò)散。其中,所述第一 像素行和所述第二像素行為相鄰的兩個(gè)像素行,所述第一像素行的遍歷方向?yàn)閺念^部至尾 部,且所述第二像素行的遍歷方向?yàn)閺奈膊恐令^部。
[0031] 在本發(fā)明的一個(gè)實(shí)施例中,所述第一像素行為奇數(shù)像素行,且所述第二像素行為 偶數(shù)像素行。
[0032] 在本發(fā)明的一個(gè)實(shí)施例中,所述第一誤差擴(kuò)散模板的翻轉(zhuǎn)模板用于將位于所述第 二像素行尾部的所述至少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤差擴(kuò)散至其頭部方向、正下 方和下方頭部方向的鄰近像素的值;所述第二誤差擴(kuò)散模板的翻轉(zhuǎn)模板用于將位于所述第 二像素行中間的所述至少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤差至少擴(kuò)散至其頭部方向、 正下方、下方頭部方向和下方尾部方向的鄰近像素的值;W及所述第=誤差擴(kuò)散模板的翻 轉(zhuǎn)模板用于將位于所述第二像素行頭部的所述至少一個(gè)像素的值的降灰度級(jí)計(jì)算后的誤 差擴(kuò)散至其正下方和下方尾部方向的鄰近像素的值。
[0033] 在本發(fā)明的一個(gè)實(shí)施例中,所述第一誤差擴(kuò)散模板為Basic誤差擴(kuò)散模 板,所述第二誤差擴(kuò)散模板選自于Floyd-Steinberg擴(kuò)散模板、Sierra擴(kuò)散模板和 Jarris-Judice-化n