許超 李月月 陳初俠
關(guān)鍵詞:邊緣保持;椒鹽噪聲;標(biāo)準(zhǔn)差;峰值信噪比
0 引言
椒鹽噪聲是圖像濾波中常遇到的一種噪聲,會嚴(yán)重影響圖像的質(zhì)量,也會對圖像的后續(xù)處理如圖像分割、特征提取等產(chǎn)生不良影響。所以,去除圖像中的椒鹽噪聲具有很大研究價值[1]。
常見的邊緣保持類濾波算法有四種,分別是灰度最小方差均值濾波器(Gray Minimum Variance MeanFilter,MVM)、K 近鄰平滑濾波器(K-Nearest NeighborSmoothing Filter,KNN)、對稱近鄰均值濾波器(Symmet?ric Nearest Neighbor Mean Filtering,SNN) 和西戈瑪平滑濾波器(Sigma Smoothing Filter,SSF) [2]。在去除椒鹽噪聲方面,最有效的算法是中值濾波(Median Filter?ing,MED) 。以上五種算法中,MVM去噪能力強,但保留圖像邊緣細(xì)節(jié)能力弱;KNN保持邊緣能力較強,但算法復(fù)雜,計算量大;SNN雖然能保持邊緣,但隨著噪聲密度的增大,效果越來越差[3];SSF去噪能力強,但會使圖像變模糊;MED算法雖然在一定程度上能改善圖像的模糊,但濾波后圖像模糊的事實依然存在[4]。
為了在噪聲密度較大的情況下,能有效地去除圖像中的椒鹽噪聲,并保持圖像的邊緣細(xì)節(jié)[4],本文借鑒KNN、SSF和MED算法,提出一種新的具有邊緣保持的去除圖像椒鹽噪聲算法(Keep the Boundary Filter,KBF) 。該算法的基本思想是:1) 首先判斷像素點是否為噪聲點;2) 對于非噪聲點,先與模板中像素的中值進行比較,若兩者之差的絕對值大于25,則輸出為中值,否則輸出像素本身;3) 對于噪聲點,先與模板中像素的中值進行比較,若兩者之差的絕對值大于25,則輸出為中值,否則輸出為與中心像素灰度值最接近的9個數(shù)的均值。
1 本文算法原理
為了更好地保留圖像的邊緣細(xì)節(jié)信息,本算法的核心分兩步走,一是判斷噪聲點;二是對噪聲點和非噪聲進行處理。下面分別對它們進行詳細(xì)的闡述。
1.1 噪聲判斷
噪聲判斷是本算法很關(guān)鍵的一步,因為是否能準(zhǔn)確判斷出噪聲點關(guān)系到所有噪聲能否被完美濾除。
若不能判斷出噪聲點,必然導(dǎo)致濾波后的圖像仍然含有噪聲點,濾波效果不完美。本文借鑒SSF 算法思想,來判斷圖像中像素是否為噪聲點,判斷方法如下。
1) 以待處理像素f(x,y)為中心[5],構(gòu)造5×5的模板。
2) 計算模板中的像素標(biāo)準(zhǔn)差s。
3) 如果f(i,j)-2s≤f(x,y)≤f(i,j)+2s,則δ(i,j)=1,否則δ(i,j)=0。其中,f(i,j)為像素點(i,j)的灰度值,f(x,y)為模板的中心像素值。
4) 若模板中δ(i,j)=1的像素個數(shù)大于P(P一般取3) ,則中心像素f(x,y)為非噪聲點,反之為噪聲點。
1.2 圖像濾波
濾波過程中,需要對噪聲點和非噪聲點作不同的處理。本文在借鑒KNN和MED算法的基礎(chǔ)上,確定圖像濾波方法,步驟如下。
1) 以待處理像素f(x,y)為中心,構(gòu)造5×5的模板。
2) 計算5×5模板中像素灰度值的中值,設(shè)為median。
3) 對于非噪聲點,若| f(x,y)-median |>25,則輸出為median,否則輸出為像素灰度值本身f(x,y)。
4) 對于噪聲點,若| f(x,y)-median |>25,則輸出為median,否則輸出為與中心像素灰度值f(x,y)最接近的9個數(shù)的均值。
1.3 算法具體步驟
通過以上噪聲濾波算法可知,圖像在含有椒鹽噪聲的情況下,先判斷噪聲點,再進行濾波處理,能有效去除圖像中的噪聲點。結(jié)合噪聲判斷和圖像濾波,本文算法的具體步驟如下。
1) 讀入圖像并對圖像添加椒鹽噪聲。
2) 以待處理像素f(x,y)為中心,構(gòu)造5×5的模板。
3) 計算5×5模板中像素灰度值的中值,設(shè)為median。
4) 選出9個與f(x,y)灰度值最接近的像素。
5) 計算模板中的像素標(biāo)準(zhǔn)差s。
6) 判斷待處理像素是否為噪聲點。
①如果f(i,j)-2s≤f(x,y)≤f(i,j)+2s,則δ(i,j)=1,否則δ(i,j)=0。其中,f(i,j)為像素點(i,j)的灰度值,f(x,y)為模板的中心像素值。
②若模板中δ(i,j)=1的像素個數(shù)大于P(P一般取3) ,則中心像素f(x,y)為非噪聲點,反之為噪聲點。
7) 若f(x,y)為非噪聲點,先把它與median進行比較,若兩者之差的絕對值大于25,則輸出為median,否則輸出為f(x,y)。
8) 若f(x,y)為噪聲點,先把它與median進行比較,若兩者之差的絕對值大于25,則輸出為median,否則輸出為與中心像素灰度值最接近的9個數(shù)的均值。
本文算法流程圖如圖1所示。
2 實驗結(jié)果與分析
為了驗證本文算法的有效性[6],將其與MVM、KNN、SNN、SSF、MED五種算法進行對比。首先對圖像添加不同密度的椒鹽噪聲,然后用六種算法對不同噪聲密度的圖像進行濾波處理,最后從主觀視覺和客觀評估指標(biāo)對不同算法的性能進行評價。
2.1 主觀評價
為了對六種算法的性能進行全面的比較,筆者對原始圖像添加了13種密度的椒鹽噪聲,噪聲密度從1%增加到30%。為展示方便,這里只展示出四種噪聲密度的濾波情況。圖2為原始圖像及添加椒鹽噪聲后的圖像(噪聲密度為0.05、0.1、0.2、0.3) ,圖3、圖4、圖5、圖6 為六種算法對不同噪聲密度圖像的濾波結(jié)果。
從圖3至圖6可以看出,傳統(tǒng)的四種邊緣保持類濾波算法雖然對圖像的細(xì)節(jié)進行了有效保護,但隨著噪聲密度的增大,濾波后的像素灰度值與原始像素灰度值的差值也變大,圖像變得不清晰,而且出現(xiàn)不能有效濾波噪聲的現(xiàn)象。傳統(tǒng)中值濾波能有效去除噪聲噪,但在平滑噪聲的同時,模糊了圖像的邊緣和細(xì)節(jié)信息[7],不能很好地保持邊緣,這是因為它對每個像素進行處理時,沒有受椒鹽噪聲污染的像素也被中值代替。相較于前面五種算法,本文算法無論在什么噪聲密度情況下,其濾波后的圖像明顯更清晰,更接近原圖像,即使噪聲密度增大,它也能有效濾除噪聲,并很好地保留圖像邊緣信息。
2.2 客觀評價
除上述主觀評價外,本文還采用峰值信噪比(Peak Signal to Noise Ratio,PSNR) [8]對圖像濾波的效果進行客觀評價。通過對參數(shù)的對比,能更客觀地比較出差異。PSNR(單位:dB) 可反映圖像的噪聲水平,其數(shù)值越大,表示濾波后的圖像越接近原圖像,去噪能力越強,其定義表達式如下:
式(1) 中,xi,j為原始圖像,yi,j為濾波后圖像,M×N 為圖像的大小。
表1為MVM、KNN、SNN、SSF、MED、KBF六種濾波算法處理不同噪聲密度圖像的PSNR數(shù)值。從表1 中可以看出,只有在1% 密度的噪聲下,KNN 算法PSNR的數(shù)值大于KBF算法的數(shù)值,在其他密度的噪聲下,隨著噪聲密度的增大,KBF算法PSNR的數(shù)值遠(yuǎn)大于傳統(tǒng)的四種邊緣保持類濾波算法和傳統(tǒng)的中值濾波算法。這說明KBF算法濾波后的圖像更加接近原始圖像[9],對椒鹽噪聲圖像具有更好的去噪能力和細(xì)節(jié)保護能力[10]。
3 結(jié)束語
本文在MVM、KNN、SNN、SSF、MED算法的基礎(chǔ)上,提出了一種具有邊緣保持的去除椒鹽噪聲算法,該算法首先對噪聲圖像進行噪聲點的判斷,然后對非噪聲點和噪聲點做不同處理。實驗結(jié)果表明,該算法比以上五種算法對椒鹽噪聲圖像的處理有更好的去噪能力和邊緣保持效果。