sobel運算子是用兩個不同方向的遮罩(Gx跟Gy)表達出來。
Gx及Gy分別負責檢測X與Y方向的邊緣變化
對X方向作邊緣偵測
-1 0 1
-2 0 2
-1 0 1
對Y方向作邊緣偵測
1 2 1
0 0 0
-1-2-1
Gx:
p[1]=p1[i-1][j-1];
p[2]=p1[i][j-1];
p[3]=p1[i+1][j-1];
p[4]=p1[i-1][j];
p[5]=p1[i][j];
p[6]=p1[i+1][j];
p[7]=p1[i-1][j+1];
p[8]=p1[i][j+1];
p[9]=p1[i+1][j+1];
GX=((p[7]+p[8]+p[9])-(p[1]+p[2]+p[3]))/4;
if (GX<0)
GX=(-1)*GX;
Gy:
p[1]=p1[i-1][j-1];
p[2]=p1[i][j-1];
p[3]=p1[i+1][j-1];
p[4]=p1[i-1][j];
p[5]=p1[i][j];
p[6]=p1[i+1][j];
p[7]=p1[i-1][j+1];
p[8]=p1[i][j+1];
p[9]=p1[i+1][j+1];
GY=((p[1]+p[4]+p[7])-(p[3]+p[6]+p[9]))/4;
if (GY<0)
GY=(-1)*GY;
做出來就是凸顯邊緣的一張圖片,可以清楚的看到邊緣的鋸齒部
分,我這張好像比較少。
沒有留言:
張貼留言