蟲卵數字圖像預處理是提取蟲卵數字特征的首要步驟,也是準確識別蟲卵的重要保證。圖像處理的優差直接影響著蟲卵特征的有效提取,最終影響蟲卵的識別率。本試驗采用糞樣蟲卵檢查法,用顯微成像系統獲取蟲卵數字圖像,基于MATLAB圖像處理工具,通過比較研究以選擇最佳的平滑、銳化和邊緣檢測等圖像預處理函數。
1 材料和方法
1.1 材料
糞樣:放牧牛、羊自然排出的新鮮糞便;顯微成像系統:深圳博宇儀器有限公司生產,型號:BY2-117,CCD為300萬像素;數字圖像處理工具:MAT-LAB 2009。
1.2 試驗方法
1.2.1 獲取蟲卵數字圖像
采集牛、羊自然排出的新鮮糞便,用沉淀法和漂浮法兩種方法結合檢查。在顯微鏡10×10倍視野下發現蟲卵后用顯微成像系統獲取蟲卵數字圖像。
1.2.2 蟲卵數字圖像預處理 蟲卵數字圖像預處理包括圖像裁剪、增強處理和二值化。圖像增強又包括灰度處理、均衡化、平滑處理和銳化處理;二值化包括邊緣檢測和形態學處理。
1.2.2.1 圖像裁剪和灰度處理 用MATLAB圖像處理工具箱中的imcrop函數將圖像裁剪成指定大小的矩形區域,保留圖像中有蟲卵的部分。
用顯示工具gray顯示灰度圖像,并用imad-just函數增強圖像對比度,用均衡化函數histeq\\(\\)處理使圖像細節清晰化。
1.2.2.2 平滑和銳化處理 為了減少或消除圖像中的干擾和噪聲,分別用中值濾波函數medfilt2\\(\\)和自適 應濾波函數wiener2\\(\\)對圖像進行平滑處理,并進行比較。為了增強圖像中蟲卵的邊緣和輪廓,分別用梯度銳化函數和拉普拉斯銳化函數處理圖像,并進行比較。
1.2.2.3 邊緣檢測和形態學處理 為了有效地抑制噪聲的影響,并能夠客觀、正確地選取邊緣檢測的有限值,通過迭代算法求得最佳閾值,把圖像分割為背景和目標兩部分;再運用數學形態學的腐蝕算法,挖去蟲卵內部像素點;最后剩余部分圖像就是蟲卵的邊緣。用edge\\(\\)函數提供的5種算子即Sobel算子、Roberts算子、Prewitt算子、LOG算子和Canny算子對蟲卵邊緣進行檢測,并進行比較。
在邊緣檢測過程中還需要對圖像做必要的過濾、細化和修剪等形態學處理。用膨脹函數imdi-late\\(\\)可橋接斷裂圖像間的間隙;用填充函數imfill\\(\\)可填充蟲卵內部的孔洞;用imclearborder\\(\\)函數刪除與目標圖像邊界相連的對象;最后用腐蝕函數imerode\\(\\)清除二值圖像中的不相關細節的操作。
2 試驗結果
2.1 中值濾波函數和自適應濾波函數均可用于圖像平滑處理
中值濾波在一定的條件下可以克服線性濾波如最小均方濾波和均值濾波等帶來的圖像細節模糊,而且對濾除脈沖干擾及圖像掃描噪聲最為有效。自適應濾波通常比線性濾波的效果好,它比相應的線性濾波器具有更好的選擇性,可以更好地保存圖像的邊緣和高頻細節信息,而且簡單、使用方便。
2.2 拉普拉斯銳化優于梯度銳化
梯度銳化可使圖像邊緣有所增強,但圖像較暗;經拉普拉斯運算的圖像,其邊緣部分明顯得到了增強,邊界更加明顯。
2.3 Canny算子檢測的邊緣最完整
比較edge\\(\\)函數調用的五種算子邊緣檢測圖,發現Sobel、Roberts、Prewitt算子檢測的邊緣不完整,LOG算子雖然能檢測到比較完整的邊緣,但受噪聲影響較大,Canny算子檢測的邊緣最完整,而且還能抑制噪聲。
2.4 蟲卵圖像經先膨脹后腐蝕處理,其大小不變
經過膨脹處理的蟲卵圖像的邊緣變粗了,但邊緣之間還有一些空隙存在;經填充函數處理使蟲卵圖像中的空隙完全被填充;用刪除函數處理蟲卵圖像周邊的一些對象,使其只剩下蟲卵目標;經腐蝕函數處理后的蟲卵邊界縮小,使變粗的邊緣回至原狀。
3 結語
在蟲卵數字圖像預處理中,圖像經剪裁、灰度處理、均衡化后,可選擇簡單、使用方便的自適應濾波函數平滑去噪處理,選擇拉普拉斯銳化函數進行邊緣銳化處理,選擇Canny算子檢測邊緣,最后選用先膨脹后腐蝕的形態學處理方法獲得最佳的二值化圖像。
參考文獻:
[1] 何斌,馬天予,王運堅,等.Visual C++數字圖像處理.北京:人民郵電出版社,2002:87-91.
[2] 周曉明,馬秋禾,肖蓉,等.一種改進Canny算子邊緣檢測算法[J].測繪工程,2008,17\\(2\\):28-31.
[3] 雷麗珍.數字圖像邊緣檢測方法的探討[J].測繪通報,2006\\(3\\):40-42.
[4] 余成波.數字圖像處理及Matlab實現[M].重慶:重慶大學出版社,2003:75-81.
[5] 張錚,王艷平,薛桂香,等.數字圖像處理與機器視覺—visual C++與MATLAB實現[M].