2012-07-11 20 views
6

EDIT:私は今、非常に詳細な回答でこれと同様の質問を見つけた:私はへのOpenCVのfindHomography()warpPerspective()メソッドを使用していOpenCVののfindHomographyの宛先ポイントを計算

proportions of a perspective-deformed rectangle


紙の写真を「ゆがめ」ます。私はこれが大部分働いていますが、私は細部に固執しています。

私が理解していない部分は、findHomography()に入力する目的地点の最適な集合を計算することです。私は出力を長方形にしたいと思っていますが、長方形の幅と高さの比率はわかりません。 warpPerspective()で変換を適用すると、出力画像のスケーリングが最小になるように出力矩形のサイズを設定することもできます。私が持っているのは、ソースイメージで変換したい四角形を形成する4つの点です。どのようにして最適サイズの宛先矩形を計算するのですか?

+0

この質問の重複: http://stackoverflow.com/questions/1194352/proportions-of-a-perspective-deformed-rectangle – TomSwift

答えて

4

findHomography()メソッドは、4点(直接線形変換を使用する場合)が必要です。最適なセットが必要な場合は、DLTのホモグラフィが最小再投影誤差を与える4点セットが必要です。つまり、DLTの特定の数学的モデルについて、inliers/outliersを検出するメソッドが必要です。

この方法はRANSACであり、OpenCVに実装されています。 RANSACと組み合わせたfindhomography()の例があります。

私は個人的にこれに1つの問題があり、それはOpenCVのRANSACの反復回数が高すぎることです。あなたが最適なスピードを求めているなら、コードを掘り下げなければなりません。

+0

おかげ。良い情報。しかし、私は必要なものではありません。私の主な必要性は、出力矩形のWとHの比率を求めることでした。私が見つけてマークした同様の質問で答えが見つかりました。 – TomSwift

+0

'findHomography()'に4点以上を入れても問題ありませんか? – solvingPuzzles

関連する問題