數(shù)字圖像的邊緣檢測是圖像分割、目標區(qū)域的識別、區(qū)域形狀提取等圖像分析領(lǐng)域十分重要的基礎(chǔ),圖像理解和分析的第一步往往就是邊緣檢測,目前它已成為機器視覺研究領(lǐng)域最活躍的課題之一,在工程應(yīng)用中占有十分重要的地位。
圖像的特征指圖像場中可用作標志的屬性,而圖像的邊緣是圖像最基本的特征。在數(shù)字圖像中,所謂邊緣是指其周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。由于物體的邊緣是由灰度不連續(xù)性所反映的,因此一般邊緣檢測方法是考察圖像的每個像素在某個領(lǐng)域內(nèi)灰度的變化,利用邊緣鄰近一階或二階方向?qū)?shù)變化規(guī)律來檢測邊緣,這種方法通常稱為邊緣檢測局部算子法。目前主要的幾種經(jīng)典的邊緣檢測算子有:
- 基于一階微分的邊緣檢測算子,這其中包括Roberts算子,Sobel算子,Prewitt算子以及Krisch算子。該類算子,利用梯度最大值或?qū)?yīng)于一階微分幅度最大的方法提取邊界。在算法實現(xiàn)過程中,通過2x2(Robert)或者3x3的模塊作為核與圖像中的每個像素點做卷積和運算,然后選取合適的閾值以提取邊緣。
- 基于二階微分算子,Laplacian邊緣檢測算子就是其中的代表,該算子利用二階微分過零點的原理提取邊界點。在算法實現(xiàn)過程中,也是通過3x3卷積核運算,選取合適的閾值以提取邊緣。
基于最優(yōu)化方法算子,這類方法的目的是根據(jù)信噪比求得檢測邊緣的最優(yōu)化算子,F(xiàn)在常用的有Marr-Hildreth算子和Canny算子。
邊緣檢測算法有如下四個步驟:
濾波:邊緣檢測算法主要是基于圖像強度的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)的計算對噪聲很敏感,因此必須使用濾波器來改善與噪聲有關(guān)的邊緣檢測器的性能.需要指出,大多數(shù)濾波器在降低噪聲的同時也導(dǎo)致了邊緣強度的損失,因此,增強邊緣和降低噪聲之間需要折衷.
增強:增強邊緣的基礎(chǔ)是確定圖像各點鄰域強度的變化值.增強算法可以將鄰域(或局部)強度值有顯著變化的點突顯出來.邊緣增強一般是通過計算梯度幅值來完成的.
檢測:在圖像中有許多點的梯度幅值比較大,而這些點在特定的應(yīng)用領(lǐng)域中并不都是邊緣,所以應(yīng)該用某種方法來確定哪些點是邊緣點.最簡單的邊緣檢測判據(jù)是梯度幅值閾值判據(jù).
定位:如果某一應(yīng)用場合要求確定邊緣位置,則邊緣的位置可在子像素分辨率上來估計,邊緣的方位也可以被估計出來.
邊緣檢測的三種方法:
- 直接利用閾值。這種方法簡便,快速。但是精確度不高。用在光源比較穩(wěn)定的環(huán)境中。
- 利用灰度值投影曲線的一階導(dǎo)數(shù),返回值為指定的閾值處的一階導(dǎo)數(shù),此閾值比實際的閾值要小。此方法優(yōu)點:周圍環(huán)境的影響小,可以在環(huán)境光照變化大時用此方法。速度和精確度在這三種方法中居中。
- 灰度值投影曲線的二階導(dǎo)數(shù),判斷零點。
精確度高,但速度低、噪聲大的圖像不易用此法。
應(yīng)用:
檢測芯片針腳是否規(guī)則整齊。目標定位。存在/缺席檢測
|