- 締切済み
Prewittオペレータ、Sobelオペレータを施したときのエッジの強さとその強度について
Prewittオペレータ、Sobelオペレータを施したとき、エッジの強さとその強度を求めるにはどうしたらいいのでしょうか?例えば、 15 17 19 10 17 21 3 6 2 のような3×3の画像に対して施した場合、どのようになるのでしょうか?回答お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- noocyte
- ベストアンサー率58% (171/291)
> エッジの強さとその強度 強さと方向では? 下図のように,θ方向 (エッジの法線方向) にだけ輝度値 Z(x, y) が増加する画像を考える. ┌────→X │\ θ │ \ │ \ │ U ↓ Y θ方向に座標軸Uを,これを90°右回転した方向にV軸をとると, x = cosθ * u - sinθ * v y = sinθ * u + cosθ * v u = cosθ * x + sinθ * y v = -sinθ * x + cosθ * y 輝度値 Z(x, y) はU方向に変化し,V方向には変化しないので Z(u) と書ける. そのエッジ強度 (勾配の大きさ) は dZ/du. 輝度勾配のXおよびY方向の成分は, ∂Z/∂x = (∂Z/∂u)(∂u/∂x) + (∂Z/∂v)(∂v/∂x) = (dZ/du) * cosθ ∂Z/∂y = (∂Z/∂u)(∂u/∂y) + (∂Z/∂v)(∂v/∂y) = (dZ/du) * sinθ これらはつまり Prewitt/Sobel フィルタで抽出したX方向,Y方向のエッジ強度 Δx,Δy なので, Δx = (dZ/du) * cosθ Δy = (dZ/du) * sinθ したがってエッジの強度および法線方向 (輝度が増加する方向) は dZ/du = √((Δx)^2 + (Δy)^2) θ = atan2(Δy, Δx) (単位:ラジアン) 質問の3×3画像の中心画素でのエッジ強度は, ・Prewitt の場合 Δx = (19 + 21 + 2) - (15 + 10 + 3) = 14 Δy = (3 + 6 + 2) - (15 + 17 + 19) = -40 dZ/du = √(14^2 + (-40)^2) ≒ 42.4 θ = atan2(-40, 14) ≒ -70.7° したがってエッジ方向は -70.7°+ 90°= 19.3°(または 199.3°). ・Sobel の場合 Δx = (19 + 21 * 2 + 2) - (15 + 10 * 2 + 3) = 25 Δy = (3 + 6 * 2 + 2) - (15 + 17 * 2 + 19) = -51 dZ/du = √(25^2 + (-51)^2) ≒ 56.8 θ = atan2(-51, 25) ≒ -63.9° したがってエッジ方向は -63.9°+ 90°= 26.1°(または 206.1°).