摘 要
在圖象邊緣檢測中往往要求所檢測到的邊緣具有封閉特性,本文詳細地分析了目前常用的兩
種算法:哈夫變換和Canny邊緣檢測算法,最后,探討邊緣算子應(yīng)滿足的準則。 1引言
圖象的邊緣是指圖象局部區(qū)域亮度變化顯著的部分,該區(qū)域的灰度剖面一般可以看作是一個階躍,既從一個灰度值在很小的緩沖區(qū)域內(nèi)急劇變化到另一個灰度相差較大的灰度值。圖象的邊緣部分集中了圖象的大部分信息,圖象邊緣的確定與提取對于整個圖象場景的識別與理解是非常重要的,同時也是圖象分割所依賴的重要特征,邊緣檢測主要是圖象的灰度變化的度量、檢測和定位,自從1959提出邊緣檢測以來,經(jīng)過五十多年的發(fā)展,已有許多中不同的邊緣檢測方法。在我們常用的幾種用于邊緣檢測的算子中Laplace算子常常會產(chǎn)生雙邊界;而其他一些算子如Sobel算子又往往會形成不閉合區(qū)域。本文主要討論了在邊緣檢測中,獲取封閉邊界區(qū)域的算法。
2 圖象邊緣檢測的基本步驟
(1)濾波。邊緣檢測主要基于導(dǎo)數(shù)計算,但受噪聲影響。但濾波器在降低噪聲的同時也導(dǎo)致邊緣強度的損失。
(2)增強。增強算法將鄰域中灰度有顯著變化的點突出顯示。一般通過計算梯度幅值完成。
(3)檢測。但在有些圖象中梯度幅值較大的并不是邊緣點。最簡單的邊緣檢測是梯度幅值閾值判定。
(4)定位。精確確定邊緣的位置。
圖1 邊緣檢測酸法的基本步驟
3 邊界閉合的算法
3.1 哈夫變換[3]
由于噪聲的存在,用各種算子得到的邊緣象素不連續(xù),但是由于邊緣象素之間有一定的連續(xù)性,我們就可以根據(jù)邊緣象素在梯度幅度或梯度方向上的連續(xù)性把他們連接起來。具體說來,如果象素(s,t)在象素(x,y)的領(lǐng)域且它們的梯度幅度與梯度方向在給定的閾值下滿足:
T是幅度閾值;A是角度閾值;
那么,如對所有的邊緣象素都進行上述的判斷和連接就可以得到一個閉合的邊界。 哈夫變換方法是利用圖像得全局特性而對目標輪廓進行直接檢測的方法,在已知區(qū)域形狀的條件下,哈夫變換可以準確地捕獲到目標的邊界(連續(xù)的獲不連續(xù)的),并最終以連續(xù)曲線的形式輸出變換結(jié)果,該變換可以從強噪聲環(huán)境中將已知形狀的目標準確得分割提取出來。
哈夫變換的核心思想是:
點—線的對偶性(duality)。通過變換將圖象從圖像控件轉(zhuǎn)換到參數(shù)空間,在圖像空間中一條過點(x,y)的直線方程為y=px+q,通過代數(shù)變換可以轉(zhuǎn)換為另一種形式p=-px+y,即參數(shù)空間中過點(p,q)的一條直線,如果在圖像空間中保持直線的斜率和截距的不變,其在參數(shù)空間必定過點
(p,q),這也就說明,在圖像空間中共線的點對應(yīng)參數(shù)空間共點的線.
哈夫變換就是根據(jù)上述點—線的對偶性把在圖象空間中存在的直線檢測問題轉(zhuǎn)換為參數(shù)空間中存在的點檢測問題,后者的處理要比前者簡單易行得多,只需簡單地累加統(tǒng)計即可實現(xiàn)對邊緣的檢測.
哈夫變換不僅能檢測直線等一階曲線的目標,對于園、橢圓等高階的曲線都可以檢測出來。如圓的方程為:
其參數(shù)空間是一個3D空間A(a,b,r),原理與檢測直線上的點相同,只是復(fù)雜性增加了。如果圓的半徑r己知,則問題又回到了2D空間A(a,b)
哈夫變換對已知目標的檢測過程受隨機噪聲和曲線中斷等不利因素的影響很小,而且分割出的目標是直接放到另一個“干凈”的緩存中的,因此可以做到零噪聲,是相當有優(yōu)勢的。常規(guī)的哈夫變換在理論上能對所有可以寫出具體解析表達式的曲線進行目標檢測,但是在實際處理時,經(jīng)常待檢測的目標不規(guī)則或是很難獲取甚至根本沒有解析式,此時就要采取廣義上的哈夫變換來檢測目標,
3.2最優(yōu)的階梯型邊緣檢測算法(canny邊緣檢測)
1.Canny邊緣檢測基本原理
(1)圖象邊緣檢測必須滿足兩個條件:一能有效地抑制噪聲;二必須盡量精確確定邊緣的位置。
(2)根據(jù)對信噪比與定位乘積進行測度,得到最優(yōu)化逼近算子。這就是Canny邊緣檢測算子。
(3)類似與Marr(LoG)邊緣檢測方法,也屬于先平滑后求導(dǎo)數(shù)的方法。
2.Canny邊緣檢測算法:
step1:用高斯濾波器平滑圖象;
step2:用一階偏導(dǎo)的有限差分來計算梯度的幅值和方向;
step3:對梯度幅值進行非極大值抑制;
step4:用雙閾值算法檢測和連接邊緣。
step1:高斯平滑函數(shù)
step3:非極大值抑制
僅僅得到全局的梯度并不足以確定邊緣,因此為確定邊緣,必須保留局部梯度最大的點,而抑制非極大值。(non-maxima
suppression,NMS)
解決方法:利用梯度的方向。
圖2非極大值抑制
四個扇區(qū)的標號為0到3,對應(yīng)3*3鄰域的四種可能組合。
在每一點上,鄰域的中心象素M與沿著梯度線的兩個象素相比。如果M的梯度值不比沿梯度線的兩個相鄰象素梯度值大,則令M=0。
即:
step4:閾值化
減少假邊緣段數(shù)量的典型方法是對N[i,j]使用一個閾值。將低于閾值的所有值賦零值。但問題是如何選取閾值?
解決方法:雙閾值算法。雙閾值算法對非極大值抑制圖象作用兩個閾值τ1和τ2,且2τ1≈τ2,從而可以得到兩個閾值邊緣圖象N1[i,j]和
N2[i,j]。由于N2[i,j]使用高閾值得到,因而含有很少的假邊緣,但有間斷(不閉合)。雙閾值法要在N2[i,j]中把邊緣連接成輪廓,當?shù)竭_輪廓的端點時,該算法就在N1[i,j]的8鄰點位置尋找可以連接到輪廓上的邊緣,這樣,算法不斷地在N1[i,j]中收集邊緣,直到將N2[i,j]連接起來為止。
4 邊緣算子應(yīng)滿足的準則
若滿足此準則,就能保證單邊緣只有一個響應(yīng)。
對一個算法的性能評價可分為兩個階段進行:計算假邊緣與丟失邊緣的數(shù)目;測量用于估計位置和方向的誤差(或誤差分布)。邊緣檢測算法的優(yōu)劣也可用品質(zhì)因數(shù)(
Figure of Merit)來描述。Pratt品質(zhì)因數(shù)是其中一種,它著重考慮了丟失了有效的邊緣、邊緣定位誤差和將噪聲判斷為邊緣等三種誤差。
5 結(jié)束語
邊緣檢測在圖象分割、模式識別、機器視覺等中都有重要作用,人們已研究出很多種邊緣檢測算法,而哈夫變換和canny邊緣算子等是最經(jīng)典的算法,人們已在這些經(jīng)典算法基礎(chǔ)上提出一些新的改進算法。
|
|