蘇婕+于蓮芝
摘 要:為改善原始圖像清晰度差、提高圖像視覺(jué)效果,采用空間域圖像濾波方法。該方法相比時(shí)域?yàn)V波方法,雖然算法復(fù)雜,但可使圖像獲得更好的視覺(jué)效果。運(yùn)用MATLAB軟件對(duì)原始圖像進(jìn)行平均平滑、高斯平滑、中值濾波及基于一階和二階微分的銳化算子進(jìn)行一系列處理,分析了每種處理方法的優(yōu)缺點(diǎn)。實(shí)驗(yàn)結(jié)果顯示:采用空間域的圖像濾波方法不僅具有良好的去噪效果,而且可以極大改善原始圖像質(zhì)量。
關(guān)鍵詞:空間域;平均平滑;高斯平滑;中值濾波;圖像濾波
DOIDOI:10.11907/rjdk.171326
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0132-03
0 引言
圖像增強(qiáng)研究與應(yīng)用始于20世紀(jì)60年代,一些研究者對(duì)來(lái)自太空飛船實(shí)時(shí)發(fā)回的圖像信息進(jìn)行一系列圖像增強(qiáng)處理,以便獲取較好的圖像質(zhì)量。圖像增強(qiáng)技術(shù)被廣泛應(yīng)用于信息學(xué)、天文學(xué)、工農(nóng)業(yè)、國(guó)防、藝術(shù)等領(lǐng)域[1]。
數(shù)字圖像處理是指使用計(jì)算機(jī)對(duì)量化的數(shù)字型圖像進(jìn)行處理,具體來(lái)說(shuō)就是對(duì)圖像進(jìn)行加工來(lái)改善圖像質(zhì)量。數(shù)字圖像處理分為3塊:圖像預(yù)處理、圖像特征提取、圖像的識(shí)別和分析。
圖像預(yù)處理一般包括圖像的幾何運(yùn)算、灰度變換以及濾波變換等,主要目的是盡可能消除圖像識(shí)別干擾,利于圖像特征提取以及識(shí)別分析。如果預(yù)處理出現(xiàn)較大偏差,則后期處理工作很難開展,所以對(duì)原圖的預(yù)處理要盡可能選擇最優(yōu)處理方法,達(dá)到最好效果;圖像特征提取指使用計(jì)算機(jī)來(lái)提取圖像中包含的信息,從而判斷圖像上的每一個(gè)點(diǎn)是否為某一個(gè)具體圖像特征;圖像識(shí)別與分析指對(duì)圖像內(nèi)容進(jìn)行分析和識(shí)別。
1 空間域圖像增強(qiáng)基本理論
空間域圖像增強(qiáng)與頻率域圖像增強(qiáng)是在不同領(lǐng)域?qū)D像進(jìn)行濾波處理,只不過(guò)有些濾波更加適合在空間域完成,有些則更適合在頻域中完成。本文研究的空間域圖像增強(qiáng)技術(shù)主要包含直方圖均衡化、圖像平滑以及圖像銳化等操作[2]。
直方圖均衡化:通過(guò)某種方式把圖像轉(zhuǎn)化為在一定范圍內(nèi)的每一個(gè)灰度級(jí)上都有數(shù)量相仿的像素點(diǎn)數(shù)(即輸出的直方圖是均勻的),這樣的圖像有相對(duì)高的對(duì)比度。
圖像平滑及圖像銳化:圖像平滑是減少噪聲的數(shù)字圖像處理技術(shù),常采用領(lǐng)域平均以達(dá)到平滑,而圖像銳化是把模糊度較低的圖像變得更加清晰。
2 MATLAB軟件開發(fā)環(huán)境
MATLAB是由Mathworks 公司開發(fā)的一款工程數(shù)學(xué)計(jì)算軟件,是高性能數(shù)值計(jì)算和可視化軟件,全稱是Matrix laboratory。C++、Java、C#、Fortran等高級(jí)編程語(yǔ)言用于對(duì)機(jī)器行為進(jìn)行描述,MATLAB用于對(duì)數(shù)學(xué)操作進(jìn)行直接描述。
MATLAB圖像處理工具箱(Image Processing Toolbox ,IPT)封裝一系列圖像處理算法,通過(guò)直接或間接調(diào)用MATLAB中的矩陣運(yùn)算和數(shù)值運(yùn)算函數(shù)完成圖像處理任務(wù)。利用MATLAB的圖像處理工具箱可以不用太在意圖像格式、顯示以及內(nèi)容等細(xì)節(jié),專心致力于圖像處理算法研究,極大提高了工作效率,靈活可行 [3]。
3 空間域圖像增強(qiáng)在MATLAB上的實(shí)現(xiàn)
3.1 濾波操作的MATLAB實(shí)現(xiàn)
MATLAB中與濾波相關(guān)的函數(shù)有imfilter和fspecial,imfilter完成濾波操作,而fspecial可以創(chuàng)建一些預(yù)定義的二維濾波器,直接提供給imfilter使用。濾波函數(shù)imfilter原型如下:
g=imfilter(f,w,option1,option2,...)(1)
式(1)中f是進(jìn)行濾波操作的圖像,w是濾波操作使用的模板,為一個(gè)二維數(shù)組。option1,option2,...是可選項(xiàng)。
fspecial創(chuàng)建預(yù)定義的二維濾波器,其調(diào)用格式如下:
h=fspecial(type,parameters)(2)
式(2)中type用于指定濾波器類型,Parameter為可選項(xiàng),是和所選的濾波器類型type相關(guān)的配置參數(shù)。
3.2 平滑空間濾波器
3.2.1 平均模板及其實(shí)現(xiàn)
模板中所有系數(shù)都相等,表示它們對(duì)某一像素值的貢獻(xiàn)大小一樣。模板元素之和為1,這樣就能讓新圖像和原始圖像一樣保持在一個(gè)灰度范圍之內(nèi),這樣的模板叫平均模板。
主要的MATLAB程序如下:
A=imread('D:\\Program Files\\MATLAB\\R2012b\\pic\萌圖.jpg');
h=fspecial('average',5);
C=imfilter(B,h)
其在MATLAB上的處理結(jié)果如圖1所示。
從圖1可以看出,平均模板雖然在濾波過(guò)程中平滑處理了更多噪聲,但同時(shí)也使圖像不清晰,這是由平均模板的工作機(jī)理決定的。
3.2.2 高斯平滑及其實(shí)現(xiàn)
為了減少平均平滑處理中的模糊問(wèn)題,采取加大模板中心點(diǎn)權(quán)重方法,即離中心點(diǎn)遠(yuǎn)的點(diǎn)權(quán)重減小,這種模板稱為高斯模板。
MATLAB程序如下:
A=imread('D:\\Program Files\\MATLAB\\R2012b\\pic.jpg');
h3_5=fspecial('gaussian',3,0.5);
I3_5=imfilter(B,h3_5);
h3_6=fspecial('gaussian',3,0.8);
I3_6=imfilter(B,h3_6);
h3_7=fspecial('gaussian',3,1.8);endprint
I3_7=imfilter(B,h3_7)
分別對(duì)標(biāo)準(zhǔn)差Sigma取不同值,高斯平滑在MATLAB軟件上實(shí)現(xiàn)的效果分別為如圖2(a)、(b)、(c)、(d)所示。
由圖2可見,當(dāng)標(biāo)準(zhǔn)差sigma取不同值時(shí),會(huì)出現(xiàn)不同效果。Sigma過(guò)小,無(wú)法起到平滑噪聲作用;sigma過(guò)大則退化為平均模板。一般在3×3模板中,取0.8較為合適。
3.3 統(tǒng)計(jì)排序?yàn)V波器
統(tǒng)計(jì)濾波器是一種非線性濾波器,其中中值濾波器使用最普遍。這種濾波器先將模板中包圍圖像區(qū)域像素大小進(jìn)行排序,然后用排序結(jié)果決定的值替代模板中心像素的值。中值濾波是消除椒鹽噪聲的典型應(yīng)用 [4-6]。MATLAB提供了medfilt2函數(shù)實(shí)現(xiàn)中值濾波,原型為:I2=medfilt2(I1,[m,n]) (3)
式(3)中I1是原圖矩陣,m和n是中值濾波處理的模板大小。
統(tǒng)計(jì)濾波器在MATLAB實(shí)現(xiàn)程序如下:
A=imread('D:\\Program Files\\MATLAB\\R2012b\\pic.jpg');
C=medfilt2(A,[3,3],'symmetric')
中值濾波在MATLAB的實(shí)現(xiàn)效果如圖3所示。
對(duì)比圖3的(a)、(b),可見中值濾波不僅可以抑制椒鹽噪聲,還使模糊效應(yīng)明顯降低,使圖像清晰度更高,效果更優(yōu)。
3.4 圖像銳化處理
銳化處理主要目的是突出灰度過(guò)渡部分。
3.4.1 基于一階導(dǎo)數(shù)的圖像增強(qiáng)
分別采用w1算子和w2算子對(duì)一階導(dǎo)數(shù)的圖像增強(qiáng)進(jìn)行圖像銳化處理,其在MATLAB中的實(shí)現(xiàn)效果如圖4所示。
由w1和w2算子分別進(jìn)行銳化的結(jié)果都可能存在負(fù)值,所以采取取絕對(duì)值后的圖像。圖4(b)中接近正45°邊緣較明顯,而圖4(c)顯示出近負(fù)45°方向的邊緣。兩者相結(jié)合就是圖4(a)中顯示的Robert交叉梯度圖像。
3.4.2 基于二階微分的圖像增強(qiáng)
拉普拉斯模板結(jié)構(gòu)不同于一階梯度算子模板,它對(duì)于90°的旋轉(zhuǎn)是各向同性的,這表明拉普拉斯算子在近水平和接近豎直方向的邊緣都有很好的增強(qiáng)效果,避免了用梯度算子時(shí)需要進(jìn)行兩次濾波的繁瑣?;诙A微分的圖像增強(qiáng)實(shí)現(xiàn)效果如圖5所示。
3.4.3 基于一階和二階導(dǎo)數(shù)的銳化算子比較
一階導(dǎo)數(shù)往往會(huì)產(chǎn)生比二階導(dǎo)數(shù)算子寬的圖像邊緣,而二階導(dǎo)數(shù)對(duì)細(xì)節(jié)有較強(qiáng)的響應(yīng),比如細(xì)線和孤立噪聲點(diǎn)。對(duì)于圖像增強(qiáng)來(lái)說(shuō),基于二階導(dǎo)數(shù)的算子應(yīng)用會(huì)更加廣泛,對(duì)于細(xì)節(jié)的處理更優(yōu),一階算子和二階算子結(jié)合使用能達(dá)到更好的銳化增強(qiáng)效果。
4 結(jié)語(yǔ)
本文基于MATLAB軟件環(huán)境,對(duì)空間域圖像增強(qiáng)進(jìn)行了研究。在該研究中,對(duì)于線性和非線性濾波以及圖像銳化處理,應(yīng)用了軟件的算術(shù)運(yùn)算和矩陣運(yùn)算功能,并對(duì)圖像增強(qiáng)中的平均模板、高斯平滑、中值濾波以及圖像銳化進(jìn)行了MATLAB實(shí)現(xiàn),在數(shù)字圖像處理研究中能得心應(yīng)手,極大提高了工作效率。結(jié)果表明,空間域的圖像增強(qiáng)技術(shù)不僅具有良好的去躁效果,而且可以提高圖像清晰度。后續(xù)將研究時(shí)域圖像處理技術(shù),將兩者優(yōu)勢(shì)結(jié)合起來(lái),使圖像處理效果更好。
參考文獻(xiàn):
[1] 岡薩雷斯.數(shù)字圖像處理[M].MATLAB版.北京:電子工業(yè)出版社,2007.
[2] 張錚,王艷平,薛桂香.數(shù)字圖像處理與機(jī)器視覺(jué)——VisualC++與Matlab實(shí)現(xiàn)[M].北京:人民郵電出版社,2010.
[3] 鄧紅濤,趙慶展.基于MATLAB的圖像處理研究[J].信息技術(shù), 2009(2):17-19.
[4] 楊丹,趙海濱,龍哲.MATLAB圖像處理實(shí)例詳解[M].北京:清華大學(xué)出版社,2013.
[5] 余成波.數(shù)字圖像處理及MATLAB實(shí)現(xiàn)[M].重慶:重慶大學(xué)出版社,2003.
[6] P RAMESH BABU.Digital image processing[M].Scitech Publications,2003.endprint