関数cvFindHomograhpy()を使用した結果が出たときに問題があります。ホモグラフィ行列の歪み画像と問題opencv
結果は負の座標になります。ここでは私が行っていることを説明します。
私はオプティカルフローメソッドを使用してビデオの安定化に取り組んでいます。私は最初と2番目のフレームでフィーチャの位置を推定しました。さて、私の目的は、画像を安定させるために画像を歪ませることです。この手順を実行する前に、上記の関数を使用したフレーム間のホモグラフィ行列を計算する必要がありますが、負の値を持つため現実的ではないような結果を得ているという問題があります。より奇妙な結果。
0.482982 53.5034 -0.100254
-0.000865877 63.6554 -0.000213824
-0.0901095 0.301558 1
これらの結果を得た後、CvWarpPerspective()を使用して画像のワーピングを適用する際に問題が発生します。このエラーは、行列の使用に問題があることを示しています。 "cvarrTomat"からの不正な変換ですか?
だからどこに問題がありますか?それが利用可能なら別の提案をしてもらえますか?
注意:C++でのワーピングの実装についてお手伝いできれば、それは素晴らしいことでしょう。
あなたは
おかげで、私は市とTomasiの特徴は受け入れられない、とにかく、多くのことを待っていましたか? – Mario
ShiとTomasiの機能(cvGoodFeaturesToTrack関数はデフォルトでアプローチを使用してコーナーを見つけることができます)を使用することができます。また、アプローチを示す多くの論文があります。例えばhttp://www.scss.tcd.ie/Kenneth.Dawson-ハウ/プロジェクト/ FYP2004_MarkMcDonnell.pdf)。しかし、あなたはまた、ふるい分けの特徴を抽出し、2番目に近い距離の距離比を使用して一致するペアを見つけることができます。私の経験では、正確なホモグラフィを見積もるのがより効果的です –
注意するべきもう一つの重要な点は、あなたは少なくとも10個以上の一致するペアを持っていなければなりません。 –