重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんにちは。
私はOpenCVでCannyのエッジ検出をやっています。
Cannyの関数の中身を見ていたのですが、角度の算出方法が分かりません。
エッジの角度を求める方法として、あるサイトでθ=atan(gy/gx)とありましたが、θのとる値の範囲もよくわからず、またCannyの関数の中でもそういった式はまったく出てこず困っています。

エッジの角度を算出する方法をご存知の方、ぜひ教えてください。
よろしくお願いします。

A 回答 (2件)

まず訂正から。


atan()のヘルプを見てみたら、返り値は-π/2≦θ≦π/2の範囲でした。
で、atan()は引数に正接(tan)を取り、今回のソースではtanθ=gy/gxとなるθがatan(gy/gx)の返り値になります。
gy/gxが引数として正当(正しく元のtanである)かどうかはまた別問題ですが、これについては私はなんとも言えません。
#OpenCVはわからないのですよ
    • good
    • 0
この回答へのお礼

ありがとうござます。
引数として正しいか調べる必要がありそうですね。
分かりやすい解説ありがとうございました。

お礼日時:2008/07/29 11:21

θの値はラジアン(弧度法)で、0≦θ<2πの範囲を取ります。

この回答への補足

ありがとうございます。
ちなみにエッジ角を求める方法はθ=atan(gy/gx)で合っているでしょうか??
今はgxとgyはSobelフィルタを用いて求めています。

補足日時:2008/07/29 00:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!