- ベストアンサー
エッジの角度について
こんにちは。 私はOpenCVでCannyのエッジ検出をやっています。 Cannyの関数の中身を見ていたのですが、角度の算出方法が分かりません。 エッジの角度を求める方法として、あるサイトでθ=atan(gy/gx)とありましたが、θのとる値の範囲もよくわからず、またCannyの関数の中でもそういった式はまったく出てこず困っています。 エッジの角度を算出する方法をご存知の方、ぜひ教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず訂正から。 atan()のヘルプを見てみたら、返り値は-π/2≦θ≦π/2の範囲でした。 で、atan()は引数に正接(tan)を取り、今回のソースではtanθ=gy/gxとなるθがatan(gy/gx)の返り値になります。 gy/gxが引数として正当(正しく元のtanである)かどうかはまた別問題ですが、これについては私はなんとも言えません。 #OpenCVはわからないのですよ
その他の回答 (1)
- D-Matsu
- ベストアンサー率45% (1080/2394)
回答No.1
θの値はラジアン(弧度法)で、0≦θ<2πの範囲を取ります。
質問者
補足
ありがとうございます。 ちなみにエッジ角を求める方法はθ=atan(gy/gx)で合っているでしょうか?? 今はgxとgyはSobelフィルタを用いて求めています。
お礼
ありがとうござます。 引数として正しいか調べる必要がありそうですね。 分かりやすい解説ありがとうございました。