關(guān)晨曦,周詮
(中國空間技術(shù)研究院西安分院空間微波技術(shù)重點實驗室,陜西西安710100)
由于直方圖能給出該圖像概貌性的描述,比如圖像的灰度范圍、每個灰度的頻度和灰度的分布、整幅圖像的平均明暗和對比度等,由此可得出進(jìn)一步處理的重要依據(jù)。對于一些直方圖具有豐富零點的、呈“稀疏”性的圖像。文獻(xiàn)[1]對這個問題進(jìn)行了探討,并提出了一種進(jìn)行圖像“直方圖收縮”的預(yù)處理技術(shù)。對“稀疏”直方圖進(jìn)行了“收縮”,再利用現(xiàn)有的無損壓縮技術(shù)(如JPEG-LS、JPEG2000等)對新圖像進(jìn)行壓縮,則能提高壓縮比。但是這種方法具有局限性,只有直方圖比較稀疏的圖像才適合。為此,文章作了一種定量關(guān)系研究,提出直方圖稀疏度的概念,探討說明稀疏性在直方圖收縮以及無損壓縮中的有效性。
一幅灰度圖像由不同灰度值的像素組成,圖像中灰度的分布情況是該圖像的一個重要特征。圖像的灰度直方圖就描述了圖像中灰度分布情況,能夠很直觀的展示出圖像中各個灰度級所占的多少。圖像的直方圖是圖像的重要統(tǒng)計特征,可以認(rèn)為是圖像灰度分布密度函數(shù)的近似。通常圖像的灰度分布密度函數(shù)與像素所在的位置有關(guān)。設(shè)圖像在點(x,y)處的灰度分布密度函數(shù)為p(z;x,y),那么圖像的灰度密度函數(shù)為:
式中,D是圖像的定義域,S是區(qū)域D的面積。一般來講,要精確得到圖像的灰度分布密度函數(shù)比較困難,所以實際中用圖像的直方圖來代替?;叶戎狈綀D是一個離散函數(shù),它表示數(shù)字圖像每一灰度級與該灰度級出現(xiàn)頻率的對應(yīng)關(guān)系。設(shè)一幅數(shù)字圖像的像素總數(shù)為N,有L個灰度級,具有第k個灰度級的灰度rk的像素共有nk個,則第k個灰度級出現(xiàn)的概率為:
直方圖的性質(zhì)[2]:
1)直方圖反映了圖像中的灰度分布規(guī)律。它描述每個灰度級具有的像元個數(shù),但不包含這些像元在圖像中的位置信息。
2)任何一幅特定的圖像都有唯一的直方圖與之對應(yīng),但不同的圖像可以有相同的直方圖。
4)明亮圖像的直方圖傾向于灰度級高的一側(cè);低對比度圖像的直方圖窄而集中于灰度級的中部,高對比度圖像的直方圖成分覆蓋的灰度級很寬而且像素的分布不太均勻。
5)直觀上來說,若一幅圖像其像素占有全部可能的灰度級并且分布均勻,則這樣的圖像有高對比度和多變的灰度色調(diào)。
由于自然圖像其灰度通常分布在狹窄的區(qū)間,引起圖像細(xì)節(jié)不清晰。采用直方圖修整后可使圖像的灰度間距拉開或者灰度分布均勻,從而增大了反差,使圖像細(xì)節(jié)清晰,達(dá)到圖像增強(qiáng)的目的[3]。直方圖的修整法通常有直方圖均衡化和直方圖規(guī)定化兩類[4]。直方圖均衡化方法是一種非線性映射方法[5],被廣泛地應(yīng)用于圖像量化和圖像增強(qiáng)中。應(yīng)用各灰度級概率累積函數(shù)作為變換函數(shù),將高動態(tài)范圍圖像數(shù)據(jù)映射為一幅灰度分布均勻的8位顯示圖像[6-7]。
圖像直方圖由于其計算代價較小,且具有圖像平移、旋轉(zhuǎn)、縮放不變性等眾多優(yōu)點,廣泛應(yīng)用于圖像處理的各個領(lǐng)域[8-9],特別是灰度圖像的閾值分割[10]、基于顏色的圖像檢索以及圖像分類[11-13]。
文獻(xiàn)[1]提出了一種進(jìn)行圖像“直方圖收縮”的預(yù)處理技術(shù),經(jīng)過處理之后的圖像非常有利于進(jìn)行無損壓縮,但是,這種算法具有局限性,只有直方圖比較稀疏的圖像才適合[14],為此,文章提出了一種“直方圖稀疏度”的概念,并以大量圖像為例,說明直方圖稀疏度在直方圖收縮以及無損壓縮中的有效性。
對于直方圖較稀疏的圖像I,
從上圖中可以看出,經(jīng)由自適應(yīng)卡爾曼處理后的數(shù)據(jù)與原始數(shù)據(jù)的差值更小。經(jīng)典卡爾曼的濾波效果相比之下,要差了很多。
直方圖為:
假設(shè)其中hi=0,則直方圖變?yōu)?
即將原圖中對應(yīng)像素i+1,…,255替換為i,…,254。對于原圖中所有零點都作此處理,得到新的圖像I′,此時新圖像的直方圖由稀疏變成了收縮,再結(jié)合現(xiàn)有的無損壓縮技術(shù)(如JPEG-LS、JPEG2000等)對新圖像I′進(jìn)行無損壓縮,則比直接對原圖進(jìn)行無損壓縮的壓縮比要高。注意,在傳輸之前,建立一個有256項的一維數(shù)組,記錄原始圖像中所有非零像素點值,按0~255順序排列,計作映射表,將其作為一個單獨的文件保存,在傳輸過程中,將映射表作為圖像數(shù)據(jù)的一部分存在壓縮碼流中,由于接下來進(jìn)行無損壓縮,所以映射表可以完全恢復(fù)。
以jet圖像為例,灰度范圍是0~255之間,每個灰度出現(xiàn)的次數(shù)為:
(7,0,31,0,64,0,123,0,0,180,0,256,0,359,0,0,385,0,342,0 ,…,3,0,0,0,0,0,0,1)
經(jīng)過直方圖收縮,將出現(xiàn)次數(shù)為0的灰度值個數(shù)進(jìn)行統(tǒng)計,共152個,按上述公式將對應(yīng)像素進(jìn)行替換,直方圖變?yōu)?
(7,31,64,123,180,256,359,385,342,…,0,0,0,0,0,0,0,0,0)
圖1 舉例圖像
圖2 (a)圖對應(yīng)直方圖
如圖2所示,左邊是原始圖像對應(yīng)直方圖,右邊是直方圖經(jīng)過修改以后的圖像。
圖(a)經(jīng)過jpeg2000無損壓縮的壓縮比為1.92,直方圖修改后的對應(yīng)的圖像經(jīng)過jpeg2000無損壓縮的壓縮比為2.66。
對于圖(b)來說,對應(yīng)直方圖為圖3,在肉眼看來并無區(qū)別,同樣,用jpeg2000無損壓縮的壓縮比為1.31,直方圖修改后的對應(yīng)的圖像經(jīng)過jpeg2000無損壓縮的壓縮比為1.31,直方圖收縮的方法并不適用。也就是說,通過直方圖收縮的方法來提高無損壓縮比并不是對所有圖像的適合,那么適合的圖像都具有什么特征呢,為此,文章提出直方圖稀疏度的概念。
圖3 (b)圖對應(yīng)直方圖
對于圖像I,直方圖為
統(tǒng)計H中零點灰度值,假設(shè)有k個,則直方圖稀疏度為
其中0≤S<1,當(dāng)直方圖稀疏度越大,說明直方圖越容易收縮,經(jīng)過直方圖收縮處理后的圖像用無損壓縮方法得到的壓縮比比直接對原圖像進(jìn)行無損壓縮得到的壓縮比要大。壓縮比的大小,取決于圖像本身,為此,作以下實驗。
實驗選取120幅512*512灰度圖像,網(wǎng)址是http://decsai.ugr.es/cvg/dbimagenes.90幅圖像用來測試直方圖稀疏度與無損壓縮的壓縮比之間的關(guān)系,30幅圖像用來驗證直方圖稀疏度的有效性。實驗選取jpeg2000的無損壓縮方法[15-16]和常用的無損壓縮技術(shù)ZIP和RAR,這里使用WinRAR壓縮工具進(jìn)行zip和rar格式的壓縮。
1)首先使用jpeg2000、ZIP、RAR等無損壓縮技術(shù)對圖像分別進(jìn)行無損壓縮得到壓縮比r1;
2)根據(jù)公式(3)分別計算圖像的直方圖稀疏度s;
3)使用直方圖收縮的方法即2中的方法對圖像直方圖進(jìn)行修改得到新圖像,對新圖像使用jpeg2000、ZIP、RAR等無損壓縮方法得到壓縮比r2;
按照上述實驗過程對90幅圖像進(jìn)行同一處理,得出部分結(jié)果如下表,并畫出散點圖,表示出稀疏度和壓縮比1及壓縮比2之間的關(guān)系
表1 直方圖稀疏度與各種無損壓縮結(jié)果(保留三位小數(shù))
圖4 jpeg2000壓縮結(jié)果
圖5 ZIP壓縮結(jié)果
圖6 RAR壓縮結(jié)果
根據(jù)表中結(jié)果以及散點圖可知,對于jpeg2000無損壓縮算法,只要圖像稀疏度大于0.4,通過直方圖收縮的方法來提高無損壓縮比是有效的,稀疏度越大,壓縮比提高的越大,對于ZIP壓縮技術(shù),直方圖稀疏度的大小對于直方圖收縮的方法來提高無損壓縮比的效果不太明顯,對于RAR無損壓縮,壓縮比可以有效提高0~0.2以上。最后用剩余的30幅圖像來驗證直方圖稀疏度的有效性,誤差不超過0。
實驗證明直方圖收縮的預(yù)處理方法對提高無損壓縮的壓縮比有很好的作用,但并不是所有圖像都適合。為此,文章提出了一種直方圖稀疏度的概念,即,在圖像壓縮之前先統(tǒng)計直方圖稀疏度,如直方圖稀疏度在0.4以上,則可以先對圖像進(jìn)行直方圖收縮,再用無損壓縮的方法,壓縮比能提高多少取決于稀疏度的大小,直方圖稀疏度越大,即越接近1,則通過預(yù)處理后能提高的壓縮比也越大。