1. 程式人生 > >邊緣檢測的微分運算元簡單比較【1】

邊緣檢測的微分運算元簡單比較【1】

在實際的影象分割中,往往只用到一階和二階導數,雖然,原理上,可以用更高階的導數,但是,因為噪聲的影響,在純粹二階的導數操作中就會出現對噪聲的敏感現象,三階以上的導數資訊往往失去了應用價值。二階導數還可以說明灰度突變的型別。在有些情況下,如灰度變化均勻的影象,只利用一階導數可能找不到邊界,此時二階導數就能提供很有用的資訊。二階導數對噪聲也比較敏感,解決的方法是先對影象進行平滑濾波,消除部分噪聲,再進行邊緣檢測。不過,利用二階導數資訊的演算法是基於過零檢測的,因此得到的邊緣點數比較少,有利於後繼的處理和識別工作。
各種運算元的存在就是對這種導數分割原理進行的例項化計算,是為了在計算過程中直接使用的一種計算單位;

Roberts運算元:

邊緣定位準,但是對噪聲敏感。適用於邊緣明顯且噪聲較少的影象分割。Roberts邊緣檢測運算元是一種利用區域性差分運算元尋找邊緣的運算元,Robert運算元影象處理後結果邊緣不是很平滑。經分析,由於Robert運算元通常會在影象邊緣附近的區域內產生較寬的響應,故採用上述運算元檢測的邊緣影象常需做細化處理,邊緣定位的精度不是很高。

Prewitt運算元:

對噪聲有抑制作用,抑制噪聲的原理是通過畫素平均,但是畫素平均相當於對影象的低通濾波,所以Prewitt運算元對邊緣的定位不如Roberts運算元。

Sobel運算元:

Sobel運算元和Prewitt運算元都是加權平均,但是Sobel運算元認為,鄰域的畫素對當前畫素產生的影響不是等價的

,所以距離不同的畫素具有不同的權值,對運算元結果產生的影響也不同。一般來說,距離越遠,產生的影響越小。

Isotropic Sobel運算元:

加權平均運算元,權值反比於鄰點與中心點的距離,當沿不同方向檢測邊緣時梯度幅度一致,就是通常所說的各向同性。
在邊沿檢測中,常用的一種模板是Sobel 運算元。Sobel 運算元有兩個,一個是檢測水平邊沿的;另一個是檢測垂直平邊沿的 。Sobel運算元另一種形式是各向同性Sobel(Isotropic Sobel)運算元,也有兩個,一個是檢測水平邊沿的 ,另一個是檢測垂直平邊沿的 。各向同性Sobel運算元和普通Sobel運算元相比,它的位置加權係數更為準確,在檢測不同方向的邊沿時梯度的幅度一致。由於建築物影象的特殊性,我們可以發現,處理該型別影象輪廓時,並不需要對梯度方向進行運算,所以程式並沒有給出各向同性Sobel運算元的處理方法。
由於Sobel運算元是濾波運算元的形式,用於提取邊緣,可以利用快速卷積函式

,簡單有效,因此應用廣泛。美中不足的是,Sobel運算元並沒有將影象的主體與背景嚴格地區分開來,換言之就是Sobel運算元沒有基於影象灰度進行處理,由於Sobel運算元沒有嚴格地模擬人的視覺生理特徵,所以提取的影象輪廓有時並不能令人滿意。 在觀測一幅影象的時候,我們往往首先注意的是影象與背景不同的部分,正是這個部分將主體突出顯示,基於該理論,我們可以給出閾值化輪廓提取演算法,該演算法已在數學上證明當畫素點滿足正態分佈時所求解是最優的。
上面的運算元是利用一階導數的資訊,屬於梯度運算元範疇。

Laplacian運算元:

(不是很懂?)
這是二階微分運算元。其具有各向同性,即與座標軸方向無關,座標軸旋轉後梯度結果不變。但是,其對噪聲比較敏感,所以,影象一般先經過平滑處理,因為平滑處理也是用模板進行的,所以,通常的分割演算法都是把Laplacian運算元和平滑運算元結合起來生成一個新的模板。
Laplacian運算元一般不以其原始形式用於邊緣檢測,因為其作為一個二階導數,Laplacian運算元對噪聲具有無法接受的敏感性;同時其幅值產生算邊緣,這是複雜的分割不希望有的結果;最後Laplacian運算元不能檢測邊緣的方向;所以Laplacian在分割中所起的作用包括:

  1. 利用它的零交叉性質進行邊緣定位;
  2. 確定一個畫素是在一條邊緣暗的一面還是亮的一面;一般使用的是高斯型拉普拉斯運算元(Laplacian of a Gaussian,LoG),由於二階導數是線性運算,利用LoG卷積一幅影象與首先使用高斯型平滑函式卷積改影象,然後計算所得結果的拉普拉斯是一樣的。所以在LoG公式中使用高斯函式的目的就是對影象進行平滑處理,使用Laplacian運算元的目的是提供一幅用零交叉確定邊緣位置的影象;影象的平滑處理減少了噪聲的影響並且它的主要作用還是抵消由Laplacian運算元的二階導數引起的逐漸增加的噪聲影響。