概述
索貝爾算子(Sobel operator)是圖像處理中的算子之一,主要用作邊緣檢測。在技術(shù)上,它是一離散性差分算子,用來運(yùn)算圖像亮度函數(shù)的梯度之近似值。在圖像的任何一點(diǎn)使用此算子,將會產(chǎn)生對應(yīng)的梯度矢量或是其法矢量。
核心公式
該算子包含兩組3x3的矩陣,分別為橫向及縱向,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。如果以A代表原始圖像,Gx及Gy分別代表經(jīng)橫向及縱向邊緣檢測的圖像,其公式如下:

圖像的每一個像素的橫向及縱向梯度近似值可用以下的公式結(jié)合,來計(jì)算梯度的大小。 然后可用以下公式計(jì)算梯度方向。
在以上例子中,如果以上的角度Θ等于零,即代表圖像該處擁有縱向邊緣,左方較右方暗。
相關(guān)介紹
在邊沿檢測中,常用的一種模板是Sobel 算子。Sobel 算子有兩個,一個是檢測水平邊沿的 ;另一個是檢測垂直平邊沿的 。與和 相比,Sobel算子對于象素的位置的影響做了加權(quán),因此效果更好。
Sobel算子另一種形式是各向同性Sobel(Isotropic Sobel)算子,也有兩個,一個是檢測水平邊沿的,另一個是檢測垂直平邊沿的。各向同性Sobel算子和普通Sobel算子相比,它的位置加權(quán)系數(shù)更為準(zhǔn)確,在檢測不同方向的邊沿時梯度的幅度一致。由于建筑物圖像的特殊性,我們可以發(fā)現(xiàn),處理該類型圖像輪廓時,并不需要對梯度方向進(jìn)行運(yùn)算,所以程序并沒有給出各向同性Sobel算子的處理方法。
由于Sobel算子是濾波算子的形式,用于提取邊緣,可以利用快速卷積函數(shù),簡單有效,因此應(yīng)用廣泛。美中不足的是,Sobel算子并沒有將圖像的主體與背景嚴(yán)格地區(qū)分開來,換言之就是Sobel算子沒有基于圖像灰度進(jìn)行處理,由于Sobel算子沒有嚴(yán)格地模擬人的視覺生理特征,所以提取的圖像輪廓有時并不能令人滿意。
愛華網(wǎng)



