エッジ抽出(Sobel, Prewitt)


エッジ抽出にSobelとPrewittを実装


こんな感じ
ソースは右クリック



前回のマスクパターン


X方向


0 0 0
-1 0 1
0 0 0


Y方向


0 -1 0
0 0 0
0 1 0


だと、隣しか見ていないのでその分ノイズが混じっているとその影響が大きくなります。
それをなるべく小さくするために斜め方向も対象にしたものは


X方向


-1 0 1
-1 0 1
-1 0 1


Y方向


-1 -1 -1
0 0 0
1 1 1


これをPrewittオペレータと言います。
しかし、これでは斜め方向の重みが大きいので
それそ改善してあげると


X方向


-1 0 1
-2 0 2
-1 0 1


Y方向


-1 -2 -1
0 0 0
1 2 1


これをSobelオペレータと言います。


処理のアルゴリズムは前回のものと変わりません、適応するパターンが格納された配列を変えただけです。