天天看點

邊緣檢測與梯度算子

邊緣檢測

邊緣是指圖象中灰階發生急劇變化的區域。圖象 灰階的變化情況可以用灰階分布的梯度來反映,給定連續圖象f(x,y),其 方向導數在邊緣法線方向上取得局部最大值。 圖象中一點的邊緣被定義為一個矢量,模為目前點最人的方向導數,方向為該角度代表的方向。通常我們隻考慮其模,而不關心方向。

梯度算子

(一)梯度算子可分為3類: 1、使用差分近似圖像函數導數的算子。有些是具有旋轉不變性的(如: Laplacian算子),是以隻需要一個卷積掩模來計算。其它近似 一階導數的算子使用幾個掩模。 2、基于圖像函數二階導數過零點的算子(如:M arr—Hild reth或Canny邊緣檢測算子。 3、試圖将圖像函數與邊緣的參數模型相比對的箅子。   (二)第一類梯度算子 拉普拉斯(Laplace)算子通常使用3×3的掩模,有時也使用強調中心象素或其鄰接性的 拉普拉斯算子(這種近似不再具有旋轉不變性)。 拉普拉斯算子的缺點:它對圖像中的某些邊緣産生雙重響應。 圖像銳化(shapeening) 圖像銳化的目的是圖像的邊緣更陡峭、清晰。 銳化的輸出圖像f是根據下式從輸入圖像g得到的:f(i,j)=g(i,j)-c s(i,j),其中c是反映銳化程度的正系數,s(i,j)是圖像函數銳化程度的度量,用梯度箅子來計算,Laplacian箅子常被用于這一目的。 Prewitt邊緣檢測算子 Sobel邊緣檢測算子   (三)第二類梯度算子--二階導數過零點算子 根據圖象邊緣處的一階微分(梯度)應該是極值點的事實,圖象邊緣處的二階微分應為零,确定過零點的位置要比确定極值點容易得多也比較精确。右側是Lena的過零點檢測結果。 為抑制噪聲,可先作平滑濾波然後再作二次微分,通常采用高斯函數作平滑濾波,故有LoG(Laplacian of Gaussian)算子。 高斯-拉普拉斯(LoG,Laplacian of Gaussian)算子。 噪聲點對邊緣檢測有較大的影響,效果更好的邊緣檢測器是高斯-拉普拉斯(Lo G)算子。它把高斯平滑濾波器和拉普拉斯 銳化濾波器結合起來,先平滑掉噪聲,再進行 邊緣檢測,是以效果更好。   過零點檢測 在實作時一般用兩個不同參數的高斯函數的差DoG(Difference ofGaussians)對圖象作卷積來近似,這樣檢測來的邊緣點稱為f(x,y)的過零點(Zero—crossing)。 與前面的微分算子出僅采用很小的鄰域來檢測邊緣不同,過零點(Zero-crossing)的檢測所依賴的範闱與參數。有關,但邊緣位置與0的選擇無關,若隻關心全局性的邊緣可以選取比較大的 鄰域(如0=4時,鄰域接近40個象素寬)來擷取明顯的邊緣。過零點檢測更可靠,不易受噪聲影響,但.缺點是對形狀作了過分的平滑,例如會丢失欠明顯的 角點;還有産生環行邊緣的傾向。 産生環行邊緣的原因是:圖象的邊緣多出現于亮度呈現突起或凹陷的位置上,其附近邊緣法向線條上一階微分會出現兩個極值點,也就是會出現兩個過零點。其整體結果是邊緣呈現環行狀态。   (四)Canny邊緣提取(或邊緣檢測Edge Detection) 在如下的三個标準意義下,Canny邊緣檢測算子對受闩噪聲影響的階躍型邊緣是最優的: 1)檢測标準--不丢失重要的邊緣,不應有虛假的邊緣; 2)定位标準--實際邊緣與檢測到的邊緣位置之間的偏差最小; 3)單響應标準--将多個響應降低為單個邊緣響應。   Canny邊緣檢測算子的提出是基于以下概念: (1)邊緣檢測算子是針對一維信号和前兩個最優标準(即檢測标準和定位标準)表達的,用微積分方法可以得到完整的解; (2)如果考慮第三個标準(多個響應),需要通過數值優化的辦法得到最優解,該最優濾波器可以有效地近似為标準差為(的高斯平滑濾波器的一階微分,其誤差小于20%,這是為了便于實作;這與M ar—Hild reth邊緣檢測算子很相似;它是基于LoG邊緣檢測算子的; (3)将邊緣檢測箅子推廣到兩維情況。階躍邊緣由位置、方向和可能的幅度(強度)來确定。可以證明将圖象與一對稱2 D Gaussian做 卷積後再沿梯度方向微分,就構成了一個簡單而有效的方向 算子(回想一下,LoG過零點算子并不能提供邊緣方向的資訊,因為它使用了Laplacian濾波器)。 (4)由于噪聲引起的對單個邊緣的(多個)虛假響應通常造成所謂的“紋狀(streaking)"問題。一般而言,該問題在 邊緣檢測中是非常普遍的。 邊緣檢測算子的輸出通常要做門檻值化處理,以确定哪些邊緣是突出的。 紋狀是指邊緣輪廓斷開的情形,是由算子輸出超出或低于門檻值的波動引起的。紋狀現象可以通過帶滞後的 門檻值處理(thresh01ding withhysteresis)來消除; 如果邊緣響應超過一給定高門檻值時,這些象素點構成了某個尺度下的邊緣檢測算子的确定的輸出。 個别的弱響應通常對應于噪聲,但是如果這些點是與某些具有強響應的點連接配接時,它們很可能是圖象中真實的邊緣。這些連接配接的象素點在當其響應超過一給定的低門檻值時,就被當作邊緣象素。 這裡的低門檻值和高門檻值需要根據對信噪比的估計來确定。 (5)算子的合适尺度取決于圖象中所含的物體情況。解決該 未知數的方法是使用多個尺度,将所得資訊收集起來。不同尺度的Canny檢測 算子由高斯的不同的标準差(來表示。有可能存在幾個尺度的算子對邊緣都給出突出的響應(即信噪比超過 門檻值);在這種情況下,選擇具有最小尺度的算子,因為它定位最準确。 特征綜合方法(Feature synthesis appmach) 首先标記出所有由最小尺度算子得到的突出邊緣。具有較大尺度(的算子産生的邊緣根據它們(标記出的邊緣)合成得到(即,根據從較小的尺度收集到的證據來預測較大尺度(應具有的作用效果)。然後将合成得到的邊緣響應與較大尺度(的實際邊緣響應作比較。僅當它們比通過合成預測的響應顯著地強時,才将其标記為邊緣。 這一過程可以對一個尺度序列(從小到大)重複進行,通過不斷加入較小的尺度中沒有的邊緣點的方式累積起來生成邊緣圖。   Canny邊緣檢測算法 l、對于遞增的标準差(重複(2)到(6)步驟); 2、将圖象f與尺度為高斯函數做卷積; 3、對圖象中的每個象素,估計局部邊緣的法向n; 4、用非最大抑制公式找到邊緣的位置; 5、用公式計算邊緣強度; 6、對邊緣圖像做滞後門檻值化處理,消除虛假響應; 7、用特征綜合方法,收集來自多尺度的最終的邊緣資訊。 (通常的實作,省略該步。)

轉載于:https://www.cnblogs.com/wxl845235800/p/7700867.html

繼續閱讀