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