陳松楠
(信陽農林學院 信息工程學院, 河南 信陽 464000)
在用高清攝像頭監控生豬行為的過程中,由于受到生豬生活環境的影響,獲取的圖像中不僅包含生豬本身,而且還可能連帶著人、樹、墻壁、地板等背景。而且在圖像獲取和傳輸的過程中往往會或多或少地受到外界環境、監控設備等噪聲干擾源的影響。當病變區域與正常區域的相關系數相差很小時,高噪聲的圖像將會無法正確分辨出病變區域。因此就需要對原圖進行預處理研究以提高圖像的質量,避免額外的噪聲對后續圖像處理造成干擾,進一步降低圖像處理的難度[1-2]。
通常,圖像中的噪聲點是隨機產生的,所以噪聲點在原圖像中的分布并未呈現規律性,噪聲點之間可能相互獨立,但也可能存在一定的聯系,所以針對不同的噪聲要采取各具特征優勢的不同消除方法[3]。
由于線性濾波的低通性,使其在消除噪聲點的同時,也會在一定程度上影響到噪聲點在該點的像素值的計算,同時還會使圖像的邊緣變得模糊。而非線性濾波則可彌補線性濾波算法的不足,即在消除噪聲的過程中,也能有效保持圖像的原有信息。非線性濾波的算法原理主要是:對圖像任意點的鄰域灰度值進行排序,根據排位順序選擇某一點來代替該任意的值。若選擇排序的中間值來代替,則該非線性濾波就可稱為中值濾波。自Turky在1971年提出中值濾波以來,該技術即吸引了來自各方的矚目研究并廣泛地應用在圖像復原、語音處理等方面[4]。
中值濾波的設計過程可表述為:設序列{x1,x2,x3,…,xn-1,xn}為某一像素點P的鄰域,通過某一排序算法對該序列由小到大進行排序,從而得到新序列,并進一步計算新生成序列的中值。假設新序列可表示為{x1≤x2≤x3≤…≤xn-1≤xn}, 則對中值M的計算可如式(1)所示:
(1)
對于中值濾波而言,排序處理的成本很高,為此就推動了對快速排序算法的重點研究,諸如快速排序算法等[5]。這就要求中值濾波的模板不要僅僅局限于正方形窗口,而其它的模板形狀則如圖1所示,因為這些模板包含的像素少,對其展開處理也將極為迅速。事實上,當一個噪聲點出現在一個像素點的領域上時并不會當作中值點,因為噪聲點和該像素點領域上的其它像素值的差別較大,或者會成為極小值點或成為極大值點,因而總會被替換為某個相鄰像素的值。由于中值算子在保留邊界信息的同時也能抑制噪聲污染,使其在應用中也將具有良好的性能效果[6]。

(a)十字型模板 (b)水平型模板 (c)垂直型模板
(a) Cross type template (b) Horizontal template (c) Vertical template
圖1不同的濾波模板
Fig.1Severaldifferentfiltertemplates
雖然標準的中值濾波在圖像去噪和信息保留方面可獲得不錯效果,但是研究可知運行時卻會高度依賴模板窗口的選擇。模板窗口大,對噪聲有良好的消除效果,但是會讓邊緣變得模糊;如果模板窗口太小,雖然能有效地保持邊緣的信息,但是去噪效果隨即弱化[7]。所以本文通過對動物圖像的分析,提出一種改進的中值濾波算法,在降低算法時間的同時也能更好地抑制噪聲的污染和保持邊緣的信息。
研究中,設有n×n階二維圖像f(x,y),十字窗口濾波模板g(a,b),則當模板g(a,b)對二維圖像f(x,y)的任意一點f(xi,yj)進行濾波處理時,窗口g(a,b)的中心位于像素點f(xi,yj)處,那么該點的任意鄰域f(xm,yn)到中心點f(xi,yj)的距離Dk可定義為:
(2)
基于公式(2),就可推理得到下式:
(3)
其中,N-1表示模板覆蓋的像素點的個數,k表示第k個鄰域點。而由公式(3)還可以研究得到:
(4)
則閾值T的數學公式將可表示:
(5)
其中,參數λ為一個常量。
設r是一個3×3的矩陣,數學表述如下:

利用矩陣r對模板窗口g(a,b)進行45°順時針旋轉,可得重定義后的窗口結果則如式(6)所示:
g(a,b)=g(a,b)×r
(6)
該方法在抑制噪聲點的同時又能顯著提高圖像去噪的效率,并且能最大限度地保持圖像的原始灰度值。改進的中值濾波算法步驟可做如下具體表述:
Step1濾波模板從圖像g(x,y)左上角的像素點g(0,0)開始出發,逐行逐列地對圖像g(x,y)進行濾波處理。其中,邊界采用”0”填充的方式進行處理;
Step2在對圖像進行濾波過程中,分別計算某一點的鄰域到該點的距離Dk;
Step3將得到的距離進行統計分析,如果某一個鄰域像素點距離的開方值超過閾值T,則對濾波模板的窗口形狀進行重新的定義,繼續重復Step 2;
Step4若存在多個鄰域像素點的距離超過閾值η,則認為該點為噪聲點,然后對該像素點進行中值濾波處理。否則判斷該點不是噪聲點,也無需處理。繼續重復Step 2~Step 4,直到整個圖像全部遍歷后,循環停止;
算法結束。
下面,本文以圖1中給出的十字型模板和單通道圖像為例對本算法的流程展開設計詳述,算法整體流程即如圖2所示。

圖2 改進的算法詳細流程Fig. 2 The improved algorithm process

本文的仿真設計是在vs2012和opencv2.4的環境下展開實現的。實驗中使用的生豬圖像均來自于廣東省東莞市動物衛生監督所的遠程監控平臺。傳統的中值濾波和本文改進的中值濾波算法是以圖3(a)、圖4(a)作為濾波原型,本文算法中取閾值T的參數λ=0.5,η=5,選取2幅灰度圖像進行分割結果說明。
圖3、圖4列出了本文算法與傳統的中值濾波算法的實驗結果對比。圖3(a)和圖4(a)是原始圖像的灰度圖,圖3(b)和圖4(b)是受噪聲干擾的灰度圖,圖3(c)和圖4(c)是傳統中值濾波的實驗結果,圖3(d)和圖4(d)是本文算法的濾波結果。對比實驗結果可以發現,本文算法具有較好的處理效果,并且能較大限度地保持圖像的原始信息。

(a) 原始圖像的灰度圖 (b) 受噪聲污染的圖像
(a) Grayscale image of original image (b) Image with noise

(c)中值濾波的結果 (d)改進的中值濾波結果
(c) Result of median filtering (d) Result of improved median filtering
圖3實驗結果1
Fig.3Experimentalresult1

(a) 原始圖像的灰度圖 (b) 受噪聲污染的圖像
(a) Grayscale image of original image (b) Image with noise

(c) 中值濾波的結果 (d) 改進的中值濾波結果
(c) Result of median filtering (d) Result of improved median filtering
圖4實驗結果2
Fig.4Experimentalresult2
本文針對生豬體表圖像傳輸過程中受到噪聲污染的預處理問題,提出并實現了一種基于改進中值濾波的生豬體表圖像預處理算法。通過計算任意像素點與周圍像素的距離,來動態調整濾波模板的形狀,實現對生豬體表圖像的濾噪功能。實驗結果也表明本文的方法具有較好的濾噪效果,為后續生豬體表病變的分割提供了技術支撐。
[1] GONZALEZ R C,WOODS R E. 數字圖像處理[M]. 阮秋琦,阮宇智,等譯. 北京:電子工業出版社,2011.
[2] 王文慶,晏婷. 基于空間域的圖像去噪方法比較研究[J]. 西安郵電學院學報,2012,17(2):75-79.
[3] 王香菊. 圖像去噪方法及應用[J]. 科技情報開發與經濟,2007,17(27): 213-215.
[4] 劉麗梅, 孫玉榮, 李莉. 中值濾波技術發展研究[J]. 云南師范大學學報(自然科學版), 2004, 24(1):23-27.
[5] HODGSON R M, BAILEY D G, NAYLOR M J, et al. Properties, implementations and applications of Rank filters[J]. Image Vision Computing,1985, 3(1):3-14.
[6] HUANG T S, YANG G J, TANG G Y. A fast two-dimensional median filtering algorithm[J]. IEEE Transactions on Acoustics, Speech and Signal Processing,1979, 27(1):13-18.
[7] GALLAGHER N C J, WISE G L.A theoretical analysis of properities of the median filters[J]. IEEE Transactions on Acoustics Speech,Signal Processing, 1981,29(6):1136-1141.