【各方向の微分量算出】 fx = s(i+1,j) - s(i,j) fy = s(i,j+1) - s(i,j) 【画像のエッジの強さ】 ______________ y(i,j) = √fx*fx + fy*fy 又は y(i,j) = |fx| + |fy| 【画像のエッジの方向】 θ = tan-1 (fy/fx)実際に1次元の信号で確認をすると以下のようになります.
+------- / / 【原信号】 / ------+ + + + 【微分】 ------+ +-------これで分かるように微分によって変化分がわかり,これがエッジとして検出されます.
手法名 | 微分 | Sobel | Roberts |
---|---|---|---|
fx | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | 0 | 1 |-1 | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | +---+---+---+ |-1 | 0 | 1 | +---+---+---+ |-2 | 0 | 2 | +---+---+---+ |-1 | 0 | 1 | +---+---+---+ | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | 0 | 1 | 0 | +---+---+---+ | 0 | 0 |-1 | +---+---+---+ |
fy | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | 0 | 1 | 0 | +---+---+---+ | 0 |-1 | 0 | +---+---+---+ | +---+---+---+ |-1 |-2 |-1 | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | 1 | 2 | 1 | +---+---+---+ | +---+---+---+ | 0 | 0 | 0 | +---+---+---+ | 0 | 0 | 1 | +---+---+---+ | 0 |-1 | 0 | +---+---+---+ |
L(i,j) = x(i.j) * 4 - { x(i-1,j)+x(i+1,j)+x(i,j-1)+x(i,j+1) }
1次元の信号では以下のようになります.
+------- / / 【原信号】 / ------+ + + + 【1次微分】 ------+ +------- + 【2次微分】 ------+ + +------- +さて画像に適用する場合実際は処理点と近傍領域によるオペレータを使用してフィルタ処理を行います.
手法名 | (1)上式手法 | (2) | (3) |
---|---|---|---|
強さ | +---+---+---+ | 0 |-1 | 0 | +---+---+---+ |-1 | 4 |-1 | +---+---+---+ | 0 |-1 | 0 | +---+---+---+ | +---+---+---+ |-1 |-1 |-1 | +---+---+---+ |-1 | 8 |-1 | +---+---+---+ |-1 |-1 |-1 | +---+---+---+ | +---+---+---+ | 1 |-2 | 1 | +---+---+---+ |-2 | 4 |-2 | +---+---+---+ | 1 |-2 | 1 | +---+---+---+ |