Sobel邊緣檢測演算法

來源:互聯網
上載者:User

標籤:其他   img   資訊   cross   精度   運算   att   dig   表示   

索貝爾運算元(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運算元根據像素點上下、左右鄰點灰階加權差,在邊緣處達到極值這一現象檢測邊緣。對雜訊具有平滑作用,提供較為精確的邊緣方向資訊,邊緣定位精度不夠高。當對精度要求不是很高時,是一種較為常用的邊緣檢測方法。
  

 

附帶知識:

普利維特運算元(Prewitt operate): 

除sobel邊緣檢測外 還有Prewitt運算元, 它的卷積因子如下:

 

其他計算 和sobel差不多;

Prewitt運算元利用像素點上下、左右鄰點灰階差,在邊緣處達到極值檢測邊緣。對雜訊具有平滑作用,定位精度不夠高。

 

羅伯茨交叉邊緣檢測(Roberts Cross operator)

卷積因子如下:

 

灰階公式為:

 

近似公式為:

 

具體計算如下:

G(x,y)=abs(f(x,y)-f(x+1,y+1))+abs(f(x,y+1)-f(x+1,y))

 

灰階方向 計算公式為:

 

 

Roberts運算元採用對角線方向相鄰兩像素之差近似梯度幅值檢測邊緣。檢測水平和垂直邊緣的效果好於斜向邊緣,定位精度高,對雜訊敏感

Sobel邊緣檢測演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.