楊晨曉 李銘 李炎君
摘 ?要 邊緣檢測是分割與處理圖像的主要內(nèi)容之一,廣泛應(yīng)用于醫(yī)學(xué)、地理、化學(xué)等各大領(lǐng)域。圖像不同的意思就是形狀、大小各異。為提取圖像的邊緣信息中顯示的特征像素點,分析四種邊緣檢測方法以及四種形態(tài)學(xué)的基本運算,并通過實驗作出比較。
關(guān)鍵詞 MATLAB;邊緣檢測;Canny算子;開運算;閉運算
中圖分類號:TP301.4 ? ?文獻標識碼:B
文章編號:1671-489X(2020)20-0039-03
Abstract Edge detection is one of the main contents of image seg-mentation and processing. It is widely used in medicine, geography, chemistry and other fields. Different images represent different shapesand sizes of image edges, that is, different pixels of feature points. In?order to extract the feature points of image edge position, this paper introduces four edge detection methods and the application of four basic operations of mathematical morphology.
Key words MATLAB; edge detection; Canny operator; open opera-tion; closed operation
1 引言
邊緣檢測在圖文識別、車牌識別、遙感特征地圖的提取等方面都起著重大作用,目標是提取出圖像中各種參數(shù)變化的特征點。其中邊緣代表的是圖像局部位置的不連續(xù)性,也具有強度突變的特點,能凸顯相鄰兩個區(qū)域的邊界信息。通過邊緣檢測的實驗處理后,選取的區(qū)域特征信息可以理解為基于邊緣檢測方法的圖像分割。
一般在圖像中,圖像邊緣肉眼難以觀察,比如像素的灰度、紋理等特征會像第一類突變性質(zhì)一樣。某圖像和它所在背景的像素若顯示灰度變化,則在圖像邊緣區(qū)域也會發(fā)生突變,一般這種變化就會呈現(xiàn)在劇烈的函數(shù)中。傳統(tǒng)的邊緣檢測方法亦是如此。在數(shù)學(xué)領(lǐng)域,體現(xiàn)出這種變化會用一階導(dǎo)數(shù)或二階導(dǎo)數(shù)[1-2]來表示,在一階導(dǎo)數(shù)中是在某函數(shù)為最大值時表示圖像邊緣處,二階導(dǎo)數(shù)是在過零點時為圖像邊緣處。一般一階導(dǎo)數(shù)算子分為Prewitt算子、Sobel算子和Canny算子等。另外,對圖像邊緣處理也有所擴展,比如數(shù)學(xué)形態(tài)學(xué)[3]的應(yīng)用領(lǐng)域,主要包括膨脹、腐蝕、開運算和閉運算等邊緣處理方法,但這些方法主要體現(xiàn)在二值、灰度圖像中,各有千秋。后期還可研究出很多有關(guān)此學(xué)科的基本方法,這些方法可以對圖像大小和形狀分析進行處理。
2 邊緣檢測算法的一般原理
Sobel算子 ?該方法是呈現(xiàn)離散函數(shù)的一階差分算子,主要是計算圖像亮度變化的函數(shù)近似值。圖像中的每一個像素點都可以用此方法計算,計算的結(jié)果就會呈現(xiàn)與之對應(yīng)的梯度矢量值。根據(jù)原始圖像{G(x,y)}每個像素點四個方向的鄰點的加權(quán)值,就能表示只要較大的加權(quán)值出現(xiàn),就會靠近該像素。當(dāng)適當(dāng)門限取值為w時,判斷:若G(x,y)>w,則像素(i,j)表示的是邊緣像素點,否則就不是邊緣像素點。Sobel算子的優(yōu)點是適應(yīng)于較小的噪聲部分,還可以獲取較精確的邊緣。如果沒有要求高精度的話,就可以通過擴大鄰域提高抗噪性能,導(dǎo)致運算復(fù)雜度增大,提取出的邊緣也比較模糊。
Prewitt算子 ?該算子是一階微分算子的邊緣檢測方法,它可以去掉邊緣部分,主要是根據(jù)像素點的四個方向的鄰點的加權(quán)值計算的,當(dāng)邊界信息達到最大值時,就可以平滑噪聲。該算子是3×3矩陣的算子,一般它的加權(quán)值是通過鄰點的八個點像素值來確定的。核心思想是對某圖像的像素點利用兩個矩陣作卷積運算,然后輸出的結(jié)果是圖像像素點的加權(quán)值。
當(dāng)適當(dāng)門限取值為w時,判斷:若G(x,y)>w,則像素(i,j)表示的就是邊緣信息點,否則就不是邊緣像素點。綜上所述,在進行邊緣檢測時,該算子可以消除圖像的低頻噪聲區(qū)域,便于后期的圖像分割。但使用該算子做出實驗的效果邊緣會比較模糊,不能明顯看出圖像的邊界處。所以,該方法使圖像邊緣處產(chǎn)生非常大的噪聲,即使較小噪聲的邊緣也會受到影響。
Canny算子 ?該方法主要目的是查找某圖像的局部邊緣信息的最大值,計算方法是利用高斯函數(shù)的導(dǎo)數(shù)計算出每個梯度值。其中還可通過兩個加權(quán)值檢測出某圖像的強、弱邊緣,只要這兩者結(jié)合在一起,弱邊緣就會被強邊緣包含起來。其優(yōu)點在于:較弱邊緣處很容易檢測,沒有受到噪聲影響。如BW=edge(I,‘canny),自動選擇閾值用Canny算子進行邊緣檢測。BW=edge(I,‘canny,thresh),在該方法中,thresh有兩個值:高權(quán)值和低權(quán)值。如果只有一個值,則為高權(quán)值,其低權(quán)值類似等于O.4倍的高權(quán)值;當(dāng)權(quán)值為0時,自動選擇低權(quán)值和高權(quán)值。
3 數(shù)學(xué)形態(tài)學(xué)運算
腐蝕和膨脹 ?膨脹和腐蝕這兩個運算主要目的是查找某圖的較大、較小區(qū)域。前者好似“區(qū)域擴大”,意思就是將某圖像的凸顯區(qū)域擴大范圍,那么實驗效果圖的凸顯區(qū)域就變大。還可讓其與某圖像所在的背景區(qū)域融合在一起,那么邊緣信息慢慢向外部區(qū)域擴大的過程就能改變物體的缺憾部分。其運算是用3×3矩陣的結(jié)構(gòu)表示的,對圖像的每個像素做運算,接著再與其二值圖像做邏輯“與”運算,結(jié)果等于0,說明圖像的該像素為0;為1的結(jié)果則使二值圖像擴張一圈。
腐蝕的主要功能是將白噪聲去掉,也能將連在一起的圖像斷開。它好比“領(lǐng)域被縮減”,將圖像的亮度區(qū)域或白色區(qū)域削弱化,仿真效果圖的亮度部分變小。它是一種消除邊界點的方法,目標是消除小且可忽視的物體。其運算用3×3矩陣的結(jié)構(gòu)來表示,對圖像的每個像素做運算,接著與其二值圖像做邏輯“與”運算,結(jié)果等于1,說明圖像的該像素為1;為0的結(jié)果則使二值圖像減小一圈。
開運算和閉運算 ?這兩個運算是膨脹和腐蝕的疊加得到的。開運算的現(xiàn)象是先腐蝕后膨脹,其主要作用是將較小物體去除,分離出弱小物體,平滑帶有噪聲的圖像邊緣處,不能明顯地改變圖像面積,消除了由圖像噪音形成的瑕疵點。閉運算的現(xiàn)象是先膨脹后腐蝕,作用是彌補一些弱小、失真的圖像邊緣位置,對這些邊緣特征點起到平滑作用。
開運算、閉運算這兩者都是按照腐蝕和膨脹的先后順序疊加的,但它們相互獨立,不可逆,如果其中一種顛倒順序,則不能得到想要的實驗效果。如果想對某二值圖像完成這兩者的實驗,采用“先開后閉”或“先閉后開”的順序都可以,但效果圖會呈現(xiàn)邊緣信息的缺憾和失真。
4 實驗數(shù)據(jù)分析
分別選取一張化學(xué)水分子圖片(圖1)和一張硬幣圖片(圖6)進行邊緣檢測處理,在MATLAB環(huán)境中做出各種算法的仿真實驗,并分析優(yōu)缺點,圖2到圖5是四種算子檢測實驗圖。為了更清楚地分析圖像邊緣區(qū)域的特征點,將四種結(jié)果圖局部區(qū)域放大。
實驗表明,采用邊緣檢測的四種方法是可以對同一張圖片進行邊緣處理的,效果圖和原圖有明顯的對比。其中,圖2檢測出的圖像邊緣信息有噪聲,圖3、圖4提取的邊緣相對準確,這三種方法的優(yōu)點都是計算簡潔、實現(xiàn)快速以及有較成熟的技術(shù),缺點在于沒有明顯平滑噪聲,對實驗過程產(chǎn)生一些干擾信號,在邊緣檢測時不能完成對整體圖像邊緣信息的提取,即使提取也不是很精確。但圖5檢測時就能將弱小邊緣檢測出來,并且可以平滑噪聲,效果最好,和其他算子比較也相對明顯。
實驗表明,圖7的效果顯示出邊緣信息由內(nèi)向外擴大,彌補圖像中的空隙;圖8的邊緣信息則消失,無法提取出邊緣點,顯得物體失真或模糊不清;圖9是先腐蝕后膨脹的現(xiàn)象;圖10是先膨脹后腐蝕的現(xiàn)象。和原圖相比,腐蝕的效果圖要比原圖變得更小,所以適合去除高峰噪聲;而灰度值膨脹效果顯示各元素比之前的要大,所以適合去除低谷噪聲。
5 結(jié)語
本文主要敘述圖像邊緣檢測的Canny算子檢測效果最好,也介紹在數(shù)學(xué)形態(tài)學(xué)中,閉運算主要適應(yīng)于去除高峰噪聲,而適應(yīng)于去除低谷噪聲的是膨脹運算。目前沒有一種完善的方法能適用所有的圖像及地物特征的邊緣檢測實驗,還需進一步研究。
參考文獻
[1]楊莎,熊緯,張昭.一種基于自適應(yīng)閾值Canny算法的輸變電設(shè)備圖像檢測方法研究[J].電子設(shè)計工程,2019(15):31-36
[2]田夢娜,徐泮林,丁鵬文.基于MATLAB的邊緣檢測算法研究[J].測繪與空間地理信息,2020(2):197-199,203,207.
[3]羅朝陽,張鵬超,姚晉晉,等.一種基于形態(tài)學(xué)的邊緣檢測算法[J].計算機應(yīng)用與軟件,2020(2):177-181,247.