唐義杰,胡超,張倚瑋,董卓昊,劉津銘,劉思源
(1.西南大學(xué),重慶,400715;2.重慶大學(xué),重慶,400044;3.廣西大學(xué),廣西南寧,530004)
圖像在制作、傳輸、獲取和處理的過(guò)程中可能會(huì)受到一些干擾,從而產(chǎn)生圖像噪聲。這些噪聲嚴(yán)重?cái)_亂了圖像信息,降低了圖像畫(huà)質(zhì),損毀了一些細(xì)節(jié)特征,給圖像的使用和分析帶來(lái)了很大的困難,所以如何濾除這些圖像噪聲,盡可能的還原圖像特征,這是一個(gè)非常具有現(xiàn)實(shí)意義的問(wèn)題。
圖像中最常見(jiàn)的幾種噪聲分別為脈沖噪聲、高斯噪聲、泊松噪聲、伽馬噪聲和瑞利噪聲等。本文研究的是脈沖噪聲,又稱(chēng)椒鹽噪聲,這是圖像中很常見(jiàn)的一種噪聲,它的特征是其灰度以等概率取最小灰度值或最大灰度值隨機(jī)出現(xiàn)在圖像中,在圖像上呈現(xiàn)出在亮的區(qū)域內(nèi)有黑色像素點(diǎn)(胡椒點(diǎn))或者在暗的區(qū)域內(nèi)有白色像素點(diǎn)(鹽點(diǎn))產(chǎn)生。椒鹽噪聲產(chǎn)生的原因有很多,最常見(jiàn)的是由于圖像切割所引起的干擾,也可能是因?yàn)橛跋裼嵦?hào)突然受到強(qiáng)烈的電磁干擾,或者傳感器內(nèi)部出現(xiàn)時(shí)序錯(cuò)誤等,這是對(duì)圖像造成干擾嚴(yán)重最嚴(yán)重的噪聲之一[1]。
去除椒鹽噪聲的常規(guī)方法是使用傳統(tǒng)的中值濾波算法,這是一種基于排序統(tǒng)計(jì)的濾波算法,其將像素點(diǎn)的灰度值用其鄰域內(nèi)所有像素點(diǎn)灰度值的中值來(lái)替代,算法原理簡(jiǎn)單,運(yùn)行速度快,易于實(shí)際使用。這種算法的濾波性能主要取決于它的濾波窗口大小,然而矛盾的是濾波窗口過(guò)小時(shí)無(wú)法有效地濾除噪聲,而濾波窗口過(guò)大時(shí)又會(huì)使圖像變得模糊。在椒鹽噪聲密度不大的情況下,傳統(tǒng)的中值濾波算法對(duì)椒鹽噪聲的濾波效果不錯(cuò),但伴隨椒鹽噪聲密度的增加,其濾波性能會(huì)快速下降。
許多學(xué)者在傳統(tǒng)中值濾波算法的基礎(chǔ)上做了改進(jìn),提出了一些可以高效濾除椒鹽噪聲的改進(jìn)算法,例如:迭代中值濾波算法[2],二次中值濾波算法[3],對(duì)稱(chēng)中值濾波算法[4],高速自適應(yīng)中值濾波算法[5],非線性濾波算法[6]等。這些算法的濾波性能相對(duì)于傳統(tǒng)的中值濾波算法有了大幅提升,對(duì)被椒鹽噪聲干擾的圖像有很好的還原效果,但當(dāng)椒鹽噪聲的密度過(guò)大時(shí),還是難以保全圖像細(xì)節(jié),產(chǎn)生毛邊導(dǎo)致圖像模糊。對(duì)此又有學(xué)者提出了針對(duì)高強(qiáng)度椒鹽噪聲的濾波算法[7],其在高密度椒鹽噪聲環(huán)境下的濾波性能有了顯著提升,但這種方法結(jié)構(gòu)復(fù)雜,實(shí)行難度高,運(yùn)算速度慢。
本文基于傳統(tǒng)中值濾波算法做出改進(jìn),結(jié)合了圖像模糊邊緣檢測(cè)的方法,提出了一種適用于強(qiáng)椒鹽噪聲環(huán)境下的模糊邊緣自適應(yīng)中值濾波算法,這種算法可以很好地濾除高強(qiáng)度椒鹽噪聲,還原被椒鹽噪聲干擾的圖像,濾波還原效果要優(yōu)于文獻(xiàn)[7],并且該算法具有自適應(yīng)的特點(diǎn),通用性強(qiáng),結(jié)構(gòu)簡(jiǎn)單,運(yùn)行速度快。
本文算法的實(shí)現(xiàn)主要分為三個(gè)過(guò)程,第一個(gè)過(guò)程是對(duì)圖像進(jìn)行噪聲點(diǎn)檢測(cè)[8],將具有最小灰度值或最大灰度值的像素點(diǎn)全部標(biāo)記為疑似噪聲點(diǎn),其他像素點(diǎn)列為信號(hào)點(diǎn),通過(guò)這一過(guò)程可檢索出疑似噪聲點(diǎn),再將疑似噪聲點(diǎn)和信號(hào)點(diǎn)區(qū)分開(kāi)然后分別進(jìn)行處理。第二個(gè)過(guò)程是對(duì)噪聲點(diǎn)進(jìn)行自適應(yīng)濾波處理[9],找到每個(gè)像素點(diǎn)所對(duì)應(yīng)的最佳濾波窗口大小且分別對(duì)其進(jìn)行濾波處理,保留所有信號(hào)點(diǎn)的灰度值。第三個(gè)過(guò)程是對(duì)濾波處理后的圖像進(jìn)行模糊邊緣檢測(cè),通過(guò)比對(duì)所有像素點(diǎn)之間的灰度值差異,找出模糊邊緣像素點(diǎn),并對(duì)這些像素點(diǎn)進(jìn)行二次自適應(yīng)中值濾波處理,像素點(diǎn)進(jìn)行第二次中值濾波時(shí)采用與第一次中值濾波相對(duì)應(yīng)的濾波窗口大小。
本文用S(i,j)來(lái)表示圖像中位于第i行第j列的像素點(diǎn)灰度值,用Smax和Smin表示圖像中所有像素點(diǎn)的最大灰度值和最小灰度值,本文選取的八位灰度圖中Smax和Smin的值分別為255和0。對(duì)圖像中所有像素點(diǎn)的灰度值逐個(gè)檢索比對(duì),將灰度值與Smax或Smin相同的點(diǎn)標(biāo)記為疑似椒鹽噪聲點(diǎn),其他像素點(diǎn)標(biāo)記為信號(hào)點(diǎn),用N(i,j)表示疑似椒鹽噪聲點(diǎn)矩陣。
在進(jìn)行噪聲點(diǎn)檢驗(yàn)之后,保留所有信號(hào)像素點(diǎn)的灰度值不變,只對(duì)檢索出的疑似噪聲點(diǎn)進(jìn)行濾波處理,具體處理方法如下:
逐個(gè)計(jì)算出所有疑似噪聲點(diǎn)到圖像邊界的最短距離dmin,將其作為適用于該點(diǎn)進(jìn)行自適應(yīng)中值濾波時(shí)可以使用的最大濾波窗口的指標(biāo),數(shù)值上該點(diǎn)能接受最大濾波窗口的邊長(zhǎng)為dmin的兩倍。
對(duì)所有疑似噪聲點(diǎn)逐一進(jìn)行自適應(yīng)中值濾波處理,將疑似噪聲點(diǎn)作為濾波窗口的中心點(diǎn),其灰度用濾波窗口內(nèi)所有像素點(diǎn)灰度的中值進(jìn)行替代。濾波過(guò)程應(yīng)遵守最小濾波窗口原則,每個(gè)疑似噪聲點(diǎn)的濾波窗口按[3 3][5 5][7 7]的排列方式逐步增大逐次對(duì)疑似噪聲點(diǎn)進(jìn)行中值濾波,直到該點(diǎn)的灰度與Smax或者Smin不相同時(shí),認(rèn)為這個(gè)疑似噪聲點(diǎn)被濾除,結(jié)束對(duì)該點(diǎn)的處理,濾波窗口復(fù)位為最小邊長(zhǎng),繼續(xù)對(duì)下一個(gè)疑似噪聲點(diǎn)進(jìn)行中值濾波處理。該方法可以找到適用于不同疑似噪聲點(diǎn)的最佳濾波窗口大小并對(duì)其進(jìn)行濾波處理,體現(xiàn)了自適應(yīng)的濾波功能,對(duì)不同圖像具有通用性。
經(jīng)過(guò)自適應(yīng)中值濾波處理之后,圖像已經(jīng)可以達(dá)到很好的還原效果,但當(dāng)噪聲密度過(guò)大(>70%)時(shí),圖像中的物體邊緣會(huì)產(chǎn)生毛邊使整體圖像模糊。本文算法對(duì)于這種情況下的還原圖像進(jìn)行模糊邊緣檢測(cè),提取出模糊邊緣像素點(diǎn)并對(duì)其進(jìn)行二次自適應(yīng)中值濾波處理。模糊邊緣檢測(cè)的基本原理如下:
物體邊緣可以看作兩個(gè)均勻區(qū)域之間的邊界,我們可以通過(guò)比較鄰近像素的強(qiáng)度來(lái)檢測(cè)模糊邊緣像素點(diǎn)。如果把整個(gè)圖像看成一個(gè)二維離散函數(shù),那么圖像的梯度在數(shù)值上就是這個(gè)二維離散函數(shù)的求導(dǎo),令兩個(gè)方向上的導(dǎo)數(shù)矩陣為dx和dy,令兩個(gè)矩陣之和為G:
然后,利用梯度濾波器Gx=[-1 1]和Gy(等于Gx的轉(zhuǎn)置)與圖像S分別進(jìn)行卷積,可以獲得圖像沿水平方向和豎直方向的梯度矩陣Sx和Sy,梯度的值在[-1 1]之間變化。如果水平方向梯度(Sx)相差很小并且豎直方向梯度(Sy)相差也很小,那么該像素點(diǎn)用白色表示,如果水平方向梯度或者豎直方向梯度相差較大,用黑色表示。用黑色表示的像素點(diǎn)則被認(rèn)為是模糊邊界點(diǎn),之后對(duì)這些像素點(diǎn)進(jìn)行二次自適應(yīng)中值濾波處理,這些像素點(diǎn)進(jìn)行二次中值濾波時(shí)采用的窗口大小與其第一次中值濾波窗口大小相同。
為驗(yàn)證本文算法的先進(jìn)性和實(shí)際可行性,本為了驗(yàn)證本文算法的先進(jìn)性和實(shí)際可行性,本文選擇了Matlab軟件對(duì)本文算法進(jìn)行了實(shí)際仿真運(yùn)算并進(jìn)行了對(duì)比分析。以圖像“l(fā)ena”(512×512)和圖像“rice”(256×256)作為實(shí)驗(yàn)對(duì)象,分別對(duì)兩張?jiān)瓐D像加入噪聲密度為5%~95%的椒鹽噪聲,再分別使用傳統(tǒng)的中值濾波算法,文獻(xiàn)[7]中針對(duì)強(qiáng)密度椒鹽噪聲的濾波算法以及本文算法進(jìn)行濾波處理,以峰值信噪比PSNR(Peak Signal to Noise Ratio)來(lái)作為不同算法濾波性能的客觀評(píng)價(jià)指標(biāo),對(duì)不同算法在不同密度椒鹽噪聲下的濾波性能進(jìn)行對(duì)比。
PSNR是圖像領(lǐng)域中一種常用的評(píng)價(jià)指標(biāo),其通過(guò)圖像均方差(MSE)進(jìn)行定義[10]。MSE和PSNR數(shù)值的計(jì)算公式如下:
其中m和n分別代表圖像寬度和高度,Smax表示圖像中所有像素的最大灰度值,S代表原圖,J代表濾波后的圖像。
圖1 是不同算法在不同密度的椒鹽噪聲下對(duì)“l(fā)ena”圖像的濾波性能的對(duì)比,圖2是對(duì)“rice”圖像的濾波性能的對(duì)比。從圖1和圖2中可以看出,傳統(tǒng)的中值濾波算法在椒鹽噪聲密度不大時(shí),濾波效果不錯(cuò),還原圖像的峰值信噪比和其他兩種算法結(jié)果差距不大,但隨著椒鹽噪聲密度的增加,以椒鹽噪聲密度為30%為結(jié)點(diǎn),當(dāng)噪聲密度超過(guò)這個(gè)結(jié)點(diǎn)時(shí),其濾波性能快速下降。文獻(xiàn)[7]提出的算法相對(duì)于傳統(tǒng)中值濾波算法的濾波性能有很大提升,但是對(duì)于強(qiáng)椒鹽噪聲,尤其是噪聲密度大于85%的的超強(qiáng)密度噪聲,這種算法的濾波性能也會(huì)快速下降。本文算法是這幾種算法中實(shí)驗(yàn)結(jié)果最好的一種,雖然其濾波性能也會(huì)隨著噪聲密度的增加而下降,但相對(duì)于另外兩種算法,噪聲密度的增加對(duì)其濾波性能的影響大大降低,表現(xiàn)出了良好的濾波性能。
圖1 不同算法對(duì)“l(fā)ena”圖像的濾波性能比較
圖2 不同算法對(duì)“rice”圖像的濾波性能比較
特別地,本文對(duì)圖像“l(fā)ena”和圖像“rice”分別加入密度為95%的椒鹽噪聲,然后用不同算法對(duì)被干擾的圖像進(jìn)行濾波還原,將其作為在高密度椒鹽噪聲環(huán)境下不同算法的濾波性能的特例,進(jìn)行視覺(jué)效果對(duì)比。對(duì)兩張干擾圖像應(yīng)用不同濾波算法后分別得出還原圖像,如圖3和圖4所示,不同算法的濾波圖像對(duì)比直觀地表明了本文算法具有出良好的圖像去噪和還原效果,相對(duì)于其他兩種算法具有先進(jìn)性,很好地彌補(bǔ)了傳統(tǒng)的中值濾波算法和文獻(xiàn)[7]中濾波算法的缺陷。
圖3 95%噪聲密度下“l(fā)ena”圖像濾波效果對(duì)比
圖4 95%噪聲密度下“rice”圖像濾波效果對(duì)比
本文針對(duì)圖像中的高強(qiáng)度椒鹽噪聲難以濾除的問(wèn)題,在傳統(tǒng)中值濾波算法的基礎(chǔ)上做出了改進(jìn),提出了一種模糊邊緣自適應(yīng)中值濾波算法。該算法首先進(jìn)行噪聲點(diǎn)檢測(cè),通過(guò)逐一檢索每個(gè)像素點(diǎn)的灰度值,提取出所有的疑似噪聲點(diǎn),然后對(duì)圖像中信號(hào)點(diǎn)的灰度值進(jìn)行保留,只對(duì)疑似噪聲點(diǎn)進(jìn)行自適應(yīng)中值濾波處理,找到每個(gè)像素點(diǎn)的最佳濾波窗口大小并對(duì)其進(jìn)行濾波處理,盡可能地還原圖像原始特征,最后對(duì)處理后的還原圖像進(jìn)行模糊邊緣檢測(cè),提取出模糊像素點(diǎn),對(duì)這些像素點(diǎn)進(jìn)行二次濾波,最終得出高質(zhì)量的還原圖像。
該算法在高密度的椒鹽噪聲環(huán)境下具有良好的濾波還原性能。因?yàn)閷?duì)每個(gè)像素點(diǎn)采用不同的濾波窗口大小進(jìn)行中值濾波處理,因此具有自適應(yīng)的特點(diǎn),可對(duì)不同的圖像進(jìn)行處理,通過(guò)對(duì)提取出的所有模糊邊緣像素點(diǎn)進(jìn)行二次濾波,實(shí)現(xiàn)了圖像的細(xì)節(jié)還原。該算法結(jié)構(gòu)簡(jiǎn)單,運(yùn)行速度快,可以很好地濾除椒鹽噪聲,保留圖像細(xì)節(jié),還原圖像信息。通過(guò)與傳統(tǒng)的中值濾波算法和文獻(xiàn)[7]中提出的改進(jìn)濾波算法進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比,證明了本文算法的有效性和先進(jìn)性。