1. 程式人生 > >學習Sobel運算元-邊緣檢測

學習Sobel運算元-邊緣檢測

 Sobel濾波原理

Sobel 濾波,也稱Sobel運算元,是畫素邊緣檢測中最重要的運算元之一,在機器學習、數字媒體、計算機視覺等資訊科技領域起著舉足輕重的作用。邊緣點其實是影象灰度跳變劇烈的點,所以先計算梯度影象,然後將梯度影象中較亮的那一部分提取出來就是簡單的邊緣部分。根據該原理,Sobel運算元首先用兩組3×3的濾波器分別對影象橫向及縱向進行濾波,從而得到橫向和縱向的梯度影象(亮度差分近似值)。若A表示原始影象,分別代表經橫向及縱向邊緣檢測的影象,其公式如下:

(1)

(2)

影象的每一個畫素的橫向及縱向梯度近似值可用G=\sqrt{G_{x}^{2}+G_{y}^{2}}結合。然後計算梯度方向:\theta =arctan\left ( G_{x}/G_{y}\right )。此外,計算梯度影象時一般會使用\left | G \right |=\left | G_{x} \right |+\left | G_{y} \right |,用絕對值消除梯度方向的影響。