王 芳,錢 煒,李文超
(上海理工大學 機械學院,上海 200093)
如果某個像素點具有該像素點及其直接領域的灰度值呈現階躍或屋頂變化這種屬性,則此像素點被稱為邊緣點,而這些邊緣點的集合構成了圖像的邊緣[1]。圖像的邊緣是圖像最基本的特征,一幅簡單的素描可以僅由幾個線條就勾勒出物體的輪廓,由此可見圖像信息最集中的地方就是圖像的邊緣。圖像的邊緣提取除去了非相關信息,同時保留了圖像的重要結構特性,這樣可以很大程度地減少需要處理的數據量。因此,圖像的邊緣提取是圖像分割、圖像識別、圖像分析、機器人視覺等初級處理過程中非常重要的一個步驟[2]。
傳統的邊緣檢測算法,如Roberts算子、Sobel算子和Prewitt算子,幾乎都是基于圖像的梯度變化而構造出邊緣檢測算子的[3]。這些傳統的邊緣檢測算子計算簡單,但是對噪聲敏感,定位精度低,所以邊緣檢測算法仍是圖像處理問題中的一個“瓶頸”。鑒于這種現狀,本文提出了一種基于數學形態學的圖像邊緣提取算法。
數學形態學是基于形態結構元素對幾何形狀和結構屬性進行分析和描述的數學方法,也是一種建立在幾何代數和集合論基礎上,通過非線性疊加來描述圖像的非線性的處理系統[4]。數學形態學的基本思路是,通過使用一定形態的結構元素去度量在目標圖像區域中的可放性和填充方法的有效性,并提取更為本質的圖像形態結構相關特性信息,進而達到對目標圖像分析和識別的目的[5]。
數學形態學可以剔除目標圖像中不相關的形態結構屬性,而保留基本的本質的形態結構屬性,達到簡化目標圖像數據的目的,從而使得它具有并行速度快、易于硬件實現的特點[6]。目前,數學形態學已經廣泛應用于模式識別、機器視覺、顯微圖像分析、醫學圖像處理、計算方法與數據處理等領域,在解決濾波降噪、圖像增強、邊緣檢測、圖像分割、特征提取、紋理分析、圖像恢復與重建、圖像壓縮等圖像處理問題中有著明顯的優勢[7]。
數學形態學最基本的形態轉換包括膨脹和腐蝕[8],它們能實現許多的功能,如濾波降噪、對目標圖像中獨立的元素進行分割以及彌合目標圖像中相鄰的元素。數學形態學也能實現尋找目標圖像中的明顯區塊的極大值區域或極小值區域,以及求出目標圖像的梯度[9]。
膨脹(Dilation)的定義是:將具有一定形態的結構元素B平移距離a后得到新的形態相同的結構元素Ba,如果Ba擊中了X,則記下這個a點,所有滿足此條件的a點所組成的集合稱為X被B膨脹的結果。用公式表示為:

腐蝕(Erosion)的定義是:將具有一定形態的結構元素B平移距離a后得到新的形態相同的結構元素Ba包含于X,則記下這個a點,所有滿足此條件的a點所組成的集合稱為X被B腐蝕的結果[10]。用公式表達為:

膨脹操作是計算局部的最大值,而腐蝕操作則是計算該區域像素的最小值,兩運算是一對互為對偶的操作,即X被B腐蝕后的補集等于X的補集被B膨脹。膨脹是一種使邊緣向外部拓展的過程,可以用來填補目標圖像中小的凹洞,并將背景邊緣轉化成目標邊緣,從而使目標增大而背景縮小。腐蝕是一種去除不相關的邊緣點而使邊緣向內收縮的過程,能夠消除目標圖像中細小的凸起,使得目標縮小而背景增大。通常情況下,最基本的腐蝕和膨脹兩種操作在針對布爾圖像和圖像掩碼的處理時已能滿足要求。然而,在處理灰度或彩色圖像時,往往需要一些額外的操作。于是,基于膨脹和腐蝕這兩種基本形態轉換能構造出多種數學形態學運算簇,而開運算和閉運算是這個運算簇中最基本的兩個操作[11]。
開運算(Open)定義為先將圖像腐蝕然后再膨脹,即OPEN(X)=D(E(X))。開運算能夠去除孤立的小點、毛刺和小橋(即連通兩塊區域的小點),實現在纖細處分割大塊區域和平滑大塊區域邊緣的作用,而總的位置和形狀不變。閉運算(Close)定義為先將圖像膨脹然后再腐蝕,即 CLOSE(X)=E(D(X))[12]。閉運算能夠填平物體內細小的孔洞,實現縫合細小的裂縫達到連接相互鄰近的物體和平滑邊緣的目的,而總的位置和形狀不變。開運算和閉運算也是一對互為對偶的操作。
任何數學形態學算法都由兩個基本問題組成:數學形態學運算和結構元素的選取[13]。數學形態學的定義使得數學形態學的運算規則已經確定不變,所以形態結構元素的選取決定了數學形態學算法的目的和效果。因此,結構元素的確定和優化便成為了研究數學形態學的熱點和難點。
形態結構元素的選取問題可以分為兩個方面:結構元素的尺寸和形狀。選擇的結構元素的尺寸過小時,對于較大區域的凸起開運算不能有效地消除,而對于邊緣斷裂較大的情況閉運算不能有效地彌合;選擇的結構元素的尺寸過大時,開運算會過度消除圖像原本為邊緣點的像素而造成假斷裂,閉運算會過度彌合圖像原本斷裂的像素點而造成干擾信息。所以,采用單一尺寸的結構元素容易導致在對目標圖像進行邊緣提取時定位不夠準確,去噪效果不理想。另外,由于圖像的邊緣存在著某種約束關系,而圖像的噪聲是隨機生成的,在利用結構元素對目標圖像進行度量時,在圖像的邊緣點附近總能夠找到一個幾何形態類似的邊緣點[14],所以,采用單一形態的結構元素在對目標圖像進行邊緣提取時不能夠有效地保留圖像邊緣的細節信息。
針對采用單一尺寸或單一形態的結構元素進行數學形態學邊緣提取時的不足之處,本文提出了一種基于多尺度多結構數學形態學的圖像邊緣提取方法,即選取3種不同尺寸且關于中心對稱的多結構元素對目標圖像進行邊緣提取處理。首先用兩種較大尺寸的結構元素B1和B2對目標圖像進行開運算和閉運算處理,其次用另一種較小尺寸的結構元素B3對目標圖像進行膨脹和腐蝕處理。用公式表示為:

根據上述算法,在CPU為Intel i5 2.4G、操作系統為Win7旗艦版的PC上,用配置了OpenCV 2.4.4的Visual Studio 2010分別對Lena(512×512像素)灰度圖和加入均方差為30的高斯噪聲圖像進行邊緣提取實驗。并且,為說明本文中基于多尺度多結構數學形態學的邊緣提取算法的效果,將其與Canny邊緣提取算法進行仿真對比。
本文的邊緣提取算法實驗步驟如下:
(1)輸入Lena灰度圖,并加入均方差為30的高斯噪聲。
(2)對加入高斯噪聲后的圖像進行開運算和閉運算操作,達到濾波降噪的目的。其中,開運算和閉運算的結構元素分別采用3×3和5×5的菱形結構元素。
(3)利用公式(3)對經過濾波降噪處理后的圖像進行邊緣提取。其中,B1和B2分別為3×3和5×5的菱形結構元素,B3是1×1的正方形結構元素。
實驗結果如圖1、圖2所示。
通過對比實驗結果可以看出:圖1中Canny算法提取的邊緣較為連續,本文算法邊緣更為清晰突出,細節明顯且豐富;圖2中Canny算法受到噪聲嚴重干擾而幾乎無法檢測出圖像邊緣,本文算法對高斯噪聲有明顯的抑制作用。
本文針對傳統的邊緣提取算法抗噪能力差和定位精度低的特點,采用了數學形態學的方法對目標圖像進行邊緣提取,并且分析了不同尺寸和不同形狀的結構元素對邊緣提取效果的影響,改進了傳統單一尺寸或單一形狀結構元素的數學形態學處理算法,提出了多尺度多結構數學形態學的邊緣提取方法。通過對比實驗驗證,本文算法提取的邊緣更明顯、更平滑、細節更豐富,并且具有很好的抗噪性。但是,本文算法復雜度較高,相較Canny算法處理時間長,邊緣較寬需要進行細化處理。

圖1 對未加噪聲的Lena圖像邊緣提取結果

圖2 對加入高斯噪聲的Lena圖像邊緣提取結果
[1]羅山.基于改進數學形態學的含噪圖像邊緣檢測[J].攀枝花學院學報,2013,30(4):121-124.
[2]李峰.基于數學形態學的圖像邊緣檢測及其在虹膜定位中的應用研究[D].長沙:中南大學,2009:5-10.
[3]肖大雪.淺析數學形態學在圖像處理中的應用[J].科技廣場,2013(5):10-19.
[4]朱培逸,劉紅晴.基于數學形態學圖像分割算法在水果分級中的應用[J].科學技術與工程,2013,34(13):10375-10379.
[5]張翔宇,楊玉孝.C_V模型和數學形態學的紅外圖像處理方法[J].激光與紅外,2014,44(1):30-34.
[6]俞哲.鋼珠瑕疵檢測算法的研究及FPGA實現[D].上海:復旦大學,2010:1-12.
[7]王慧鋒,戰桂禮,羅曉明.基于數學形態學的邊緣檢測算法研究與應用[J].計算機工程與應用,2009,45(9):223-226.
[8]程成.基于電磁掃描的高密度電路板故障器件檢測技術[D].西安:西安電子科技大學,2011:5-15.
[9]Gary Bradski,Adrian Kaebler.學習 OpenCV[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009:134-142.
[10]馮穎凌,王宏玉.數學形態學基礎及研究方向的探討[J].內江科技,2008(12):37,66.
[11]龔俊亮.紅外弱小多目標實時檢測跟蹤技術研究[D].長春:中國科學院研究生院,2013:5-18.
[12]何家英,王家忠,孫晨霞,等.基于數學形態學和Canny算子的邊緣提取方法[J].計算機應用,2008,28(2):477-478.
[13]張黃群,于盛林,白銀剛.形態學圖像去噪中結構元素選取原則[J].數據采集與處理,2008,23(增刊):81-83.
[14]王光玲.基于運動目標檢測與跟蹤視頻測速算法的研究[D].太原:太原理工大學,2009:1-25.