2017-01-25 21 views
0

私は、ORB検出器を2番目のステップとして使用するPythonのOpenCVで視覚的なマーク検出のための簡単なアルゴリズムを構築しました。私は、コードがこのプロジェクトから借用され、BFmatcherでORBを使用:コード内https://rdmilligan.wordpress.com/2015/03/01/road-sign-detection-using-opencv-orb/ 検出部は、次のようになります。OpenCV ORBマッチャーとの正確な位置

# find the keypoints and descriptors for object 
kp_o, des_o = orb.detectAndCompute(obj,None) 
if len(kp_o) == 0 or des_o == None: continue 

# match descriptors 
matches = bf.match(des_r,des_o) 

そして、そこにフィーチャーマッチの数のチェックがあるので、それは伝えることができますテンプレート画像とクエリとの間に一致がある場合問題は、「はい」の場合、見つかったマッチの正確な位置と回転角度を取得するにはどうすればよいですか?

+0

ホモグラフィを計算して分解します。 – Micka

答えて

0

この位置での位置は既にわかっています。変数xyに格納されます。回転を見つけるには、テンプレートとソースの両方をぼかし、ぼかしされたテンプレートの360回転表示を生成し、関心領域との差が最も小さいものを見つけるか、両方の画像を極座標に変換し、最高の数学を達成するための画像(シフトはあなたが回転させたい角度になります)。

+0

XとYの変数はどういう意味ですか?また、回転比較を行うことは、やや冗長に見える一致を再度実行するようなものです。 – Nolemocius

+0

リンクを提供したプログラムを実行し、実行時に 'x'と' y'変数の値をチェックしてみてください。 –

関連する問題