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

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

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

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

圖1 對(duì)未加噪聲的Lena圖像邊緣提取結(jié)果

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