郭忠峰,楊子豪,王赫瑩
(沈陽工業(yè)大學 遼寧省智能制造與工業(yè)機器人重點實驗室,遼寧 沈陽 110870)
從圖像復原到圖形分割、從邊緣檢測到目標識別,再從視覺測量到智能機器人領(lǐng)域,基于機器視覺的圖像處理技術(shù)以其在應(yīng)用中所具有的高效率、高精度、非接觸性的優(yōu)點而被廣泛應(yīng)用。由于在獲取圖像的過程中會因拍攝環(huán)境的干擾或拍攝設(shè)備的限制而產(chǎn)生噪聲,同時目標對象可能受到其他物體或顏色的干擾。因此,有效去除噪聲、區(qū)分目標與干擾成為了圖像處理中的重點。本文將改進后的最小均方差濾波器與基于目標灰度的圖像分割Canny算子[1-3]相結(jié)合并通過MATLAB編程來實現(xiàn)邊緣檢測。
為了最大程度地展示圖像中被拍攝物體在顏色、紋理、形狀等特征上的信息,去除噪聲成為了圖像處理中的重要一環(huán)。均值濾波和中值濾波[4]是圖像處理中常用的去噪方法,均值濾波是取被處理像素所在鄰域的各像素灰度值之平均值作為被處理像素的輸出灰度值;中值濾波是對以被處理像素為中心的窗口內(nèi)所有像素的灰度值排序后取中值為被處理像素的輸出灰度值。均值濾波表達式為:
(1)
其中:g(i,j)為被處理像素的輸出灰度值;(x,y)為被處理像素所在鄰域的各像素位置坐標;f(x,y)為(x,y)位置的像素灰度值;S為被處理像素所處鄰域;N為鄰域中像素數(shù)量。
中值濾波表達式為:
(2)
其中:(m,n)為被處理像素所在窗口的各像素位置坐標;W為被處理像素所處窗口;[f(m,n)]為窗口中位置的像素灰度值組成的灰度序列;media為對灰度序列取中值。
由于簡單的均值濾波和中值濾波使用的鄰域或窗口單一,且被處理像素對應(yīng)于其所在鄰域或窗口中的位置固定,因此在去除噪聲的過程中缺乏自適應(yīng)性,而最小均方差濾波器[5]則改善了這一缺點。所以,為在濾波過程中實現(xiàn)對噪聲去除、邊界保持以及自適應(yīng)性的兼顧,本文設(shè)計了最小均方差濾波器。
選取5×5鄰域(如圖1所示)的中心位置像素為被處理像素,該像素位置坐標為(i,j)。以5×5鄰域為基礎(chǔ)建立如圖2所示的5個3×3濾波模板,各模板中的被處理像素均對應(yīng)5×5鄰域中的(i,j)位置。濾波過程計算步驟如下:
(1) 將5個3×3濾波模板中各位置所對應(yīng)的像素灰度值組成灰度值向量F。
(2) 計算灰度值向量F的方差與中值,比較5個方差的大小。
(3) 將方差最小的灰度值向量F的中值作為被處理像素(i,j)的輸出灰度值。
運用MATLAB編程實現(xiàn)上述濾波方法,對包含噪聲的灰度圖進行去噪,去噪前、后的灰度圖分別如圖3、圖4所示。
很多情況下,通過拍攝設(shè)備獲取的圖片不一定只包含目標物體和單一背景,還有可能包含其他干擾物體或是干擾背景,這時就需要從圖片中有效提取出目標區(qū)域,尤其在涉及目標識別、邊緣檢測等領(lǐng)域提取目標就顯得更加重要。
閾值分割法作為圖像分割中的基礎(chǔ)方法,其難點在于閾值的選取,日本學者大津提出了具有統(tǒng)計意義上最佳分割的最大類間方差法[6-7]。為了解決閾值分割法在復雜背景彩色圖像分割中無法達到分割要求的問題,李震等[8]提出了一種基于顏色特征和聚類的馬氏距離分割法,但需要人工選取分類標準點;成喜春等[9]提出了一種基于HSI模型的彩色圖像背景減法,但向HSI空間轉(zhuǎn)化的過程也增加了計算量。涉及機器學習的語義分割[10]雖然在多目標分割識別中具有很大優(yōu)勢,但是需要大量的標注樣本進行訓練。
圖1 5×5鄰域
圖2 5個3×3濾波模板
在僅考慮單一顏色目標的圖像分割情況下,本文提出了基于目標灰度的圖像分割法,并運用MATLAB編程實現(xiàn)了下述步驟:
(1) 在完成去噪過程的灰度圖片上用矩形框截取部分目標圖像,如圖5所示。
(2) 將截取的部分目標圖像之灰度矩陣轉(zhuǎn)化為灰度行向量后再將該向量中各數(shù)值歸一化到0至1的范圍內(nèi)。
(3) 對歸一化后的灰度行向量中各元素按照升序排列后繪制灰度歸一化曲線圖,如圖6所示。
(4) 對灰度歸一化曲線進行多項式擬合后繪制擬合曲線,如圖7所示。
(5) 提取擬合曲線上近直線位置對應(yīng)的各灰度值組成新的灰度行向量。
(6) 計算新的灰度行向量的中值,并以中值的0.8倍和1.2倍作為下閾值和上閾值來實現(xiàn)對濾波后灰度圖的分割,即灰度值位于下閾值和上閾值之間的為目標像素。分割結(jié)果如圖8所示。
在圖像處理獲取目標輪廓的過程中常會受到非目標輪廓的干擾(見圖9),由于圖中的目標與非目標是連接在一起的,這也就給目標輪廓的分離帶來了難題。Canny算子具有的圖像平滑、雙閾值處理的功能,使得其在邊緣檢測中不僅具有較高的定位精度,還能夠?qū)μ摷龠吘夁M行抑制,但利用Canny算子的邊緣檢測結(jié)果存在一些缺陷,以下是兩種結(jié)合Canny算子的邊緣檢測法的檢測過程及結(jié)果中存在的缺陷。
圖3 去噪前灰度圖 圖4 去噪后灰度圖 圖5 目標截取
方法一:先對如圖9所示的原圖灰度化后再進行均值濾波,然后經(jīng)單閾值分割獲得二值化圖像,最后運用Canny算子進行邊緣檢測,邊緣檢測結(jié)果如圖10所示。
方法二:先對如圖9所示的原圖灰度化后再進行中值濾波,然后經(jīng)單閾值分割獲得二值化圖像,最后運用Canny算子進行邊緣檢測,邊緣檢測結(jié)果如圖11所示。
圖10、圖11所示結(jié)果表明:這兩種方法雖然能夠在一定程度上分離目標與非目標,卻不一定能夠保證目標的完整性,會使目標產(chǎn)生缺損,且單一的均值濾波、中值濾波也致使目標中存在許多干擾部分。
圖6 灰度歸一化曲線
為了解決上述難題,本文提出了基于最小均方差濾波和目標灰度的邊緣檢測法,該方法步驟如下:
(1) 運用改進最小均方差濾波器對灰度圖像進行去噪處理。
(2) 對去噪后的圖像運用基于目標灰度的圖像分割法進行分割。
(3) 對分割后的圖像運用Canny算子進行邊緣檢測。
圖7 擬合曲線
通過MATLAB編程實現(xiàn)上述算法并應(yīng)用于圖9灰度化后所得圖像之邊緣檢測,其結(jié)果如圖12所示,目標邊緣與非目標邊緣有效分離,干擾目標邊緣的部分有效減少。對于圖12中存在的非目標邊緣可以通過結(jié)合連通區(qū)域面積計算和適當形態(tài)學處理的方法來去除,最終得到的目標輪廓如圖13所示。
本文的算法能夠有效去除噪聲并減少目標邊緣中的干擾部分;能夠?qū)崿F(xiàn)在目標灰度值差異不大的圖像中對目標和非目標的分割;能夠得到完整性良好的目標輪廓。
圖8 分割結(jié)果 圖9 原圖 圖10 方法一邊緣檢測結(jié)果
圖11 方法二邊緣檢測結(jié)果 圖12 本文方法的邊緣檢測結(jié)果 圖13 得到的目標輪廓