私はコンピュータービジョンの初心者です。私はこのアルゴリズムを使用していますhttp://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html画像を撮影するカメラの回転変換後、同じ環境 (都市の空撮) の 2 つのシーン間のいくつかの一致点を計算するために、Open CV によって提案されました。カメラと環境の両方がシミュレートされます (したがって、明るさの変化や歪みなどはありません) 明らかに、フレーム レートは、画像の大部分をオーバーラップさせるのに十分な高さです。その後、このポイントを使用して、カメラによって行われた動きを表すアフィン変換行列を計算する必要があります (画像が撮影される高さは時間の経過とともに変化しません)。したがって、画像のカップルごとに、少なくとも2つの一致点が必要です..私の問題は、多くの場合、一致点が3未満であることです..私の目的により適した堅牢な方法が存在しますか? ありがとう
質問する
890 次
1 に答える
0
あなたが与えた例で実装されたフィルタリングは非常に単純だと思います。非常に高いスコア (記述子間の距離に関して) で 1 つの一致が得られたとします。その結果min_dist
は非常に小さく、適切な一致が除外される可能性があります。言い換えれば、最高のスコアを持つ一致が必ずしも幾何学的に最高であるとは限りません (2 つの特徴は非常に似ているように見えても、実際の対応ではない可能性があります)...
あなたがしようとすることができることは次のとおりです。
- フィルタリングの実装を削除します。すべての試合を維持する
- を使用してホモグラフィ行列を計算します。
findHomography()
findHomography()
mask
インライアを追跡するためにa を使用できます
- でインライアとしてマークされている一致のみを描画します
mask
これはより良い検証になるはずです。
于 2013-04-19T07:43:27.413 に答える