索貝爾運算元(sobel operator)主要用作邊緣檢測,在技術上,它是一離散性差分運算元,用來運算影象亮度函式的灰度之近似值。在影象的任何一點使用此運算元,將會產生對應的灰度向量或是其法向量
sobel
卷積因子為:
該運算元包含兩組
3x3的矩陣,分別為橫向及縱向,將之與影象作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。如果以
a代表原始影象,gx及
gy分別代表經橫向及縱向邊緣檢測的影象灰度值,其公式如下:
具體計算如下:
gx = (-1)*f(x-1, y-1) + 0*f(x,y-1) + 1*f(x+1,y-1)
+(-2)*f(x-1,y) + 0*f(x,y)+2*f(x+1,y)
+(-1)*f(x-1,y+1) + 0*f(x,y+1) + 1*f(x+1,y+1)
= [f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]
gy =1* f(x-1, y-1) + 2*f(x,y-1)+ 1*f(x+1,y-1)
+0*f(x-1,y) 0*f(x,y) + 0*f(x+1,y)
+(-1)*f(x-1,y+1) + (-2)*f(x,y+1) + (-1)*f(x+1, y+1)
= [f(x-1,y-1) + 2f(x,y-1) + f(x+1,y-1)]-[f(x-1, y+1) + 2*f(x,y+1)+f(x+1,y+1)]
其中f(a,b),
表示影象
(a,b)
點的灰度值;
影象的每乙個畫素的橫向及縱向灰度值通過以下公式結合,來計算該點灰度的大小:
通常,為了提高效率 使用不開平方的近似值:
如果梯度
g大於某一閥值
則認為該點
(x,y)
為邊緣點。
然後可用以下公式計算梯度方向:
sobel運算元根據畫素點上下、左右鄰點灰度加權差,在邊緣處達到極值這一現象檢測邊緣。對雜訊具有平滑作用,提供較為精確的邊緣方向資訊,邊緣定位精度不夠高。當對精度要求不是很高時,是一種較為常用的邊緣檢測方法。
邊緣檢測運算元 一階之Sobel(索貝爾)運算元
sobel運算元的檢測過程 將影象的每乙個點都用sobel運算元做卷積 乙個用來檢測垂直邊緣,乙個用來檢測水平邊緣,而最後兩個卷積的最大值將作為該點的輸出,即檢測後的灰度。sobel運算元 sobel運算元包括兩組3 3的矩陣,左邊的表示垂直,右邊的表示水平。將它與影象作平面卷積,即可分別得出垂直及...
邊緣檢測演算法
邊緣是由灰階等高線定義的,穿過等高線時,灰階會迅速變化,沿著等高線走,灰階值的變化會更加輕柔,有可能是隨機變化的,因此邊緣具有乙個可以測量的方向。邊緣畫素和雜訊畫素相比周圍的畫素都有明顯的變化,而邊緣畫素互相連線,構成等高線,因此可以通過這一特性區分邊緣畫素和雜訊畫素。1 數位化 影象的取樣不可能使...
邊緣檢測常見演算法
索貝爾運算元 sobel operator 主要用作邊緣檢測,在技術上,它是一離散性差分運算元,用來運算影象亮度函式的灰度之近似值。在影象的任何一點使用此運算元,將會產生對應的灰度向量或是其法向量 sobel卷積因子為 該運算元包含兩組3x3的矩陣,分別為橫向及縱向,將之與影象作平面卷積,即可分別得...