6

編集:非常に詳細な回答でこの同様の質問を見つけました:

遠近法で変形した長方形の比率


私は OpenCVfindHomography()warpPerspective()メソッドを使用して、一枚の紙の写真を「歪ませる」ようにしています。これは大部分が機能していますが、細部にこだわっています。

やり方がわからないのは、 に入力する目的点の最適なセットを計算することfindHomography()です。出力を長方形にしたいことはわかっていますが、長方形の幅と高さの比率はわかりません。また、 を介して変換を適用したときに、出力画像のスケーリングが最小限になるように、出力四角形のサイズを変更したいと考えていますwarpPerspective()。私が持っているのは、ソース画像で変換したい四角形を形成する 4 つの点だけです。最適なサイズの宛先長方形を計算するにはどうすればよいですか?

4

1 に答える 1

4

findHomography()メソッドには 4 つのポイントが必要です ( Direct Linear Transform を使用する場合)。最適なセットが必要な場合は、DLT のホモグラフィが最小の再投影誤差を与える 4 点セットが必要になります。つまり、 DLTの特定の数学的モデルのインライア/アウトライアを検出する方法が必要です。

このメソッドはRANSACであり、OpenCV はそれを実装しています。RANSACfindhomography()と組み合わせた例があります。

私は個人的にこれに 1 つの問題を見つけました。それは OpenCV での RANSAC の反復回数が多すぎることです。最適な速度を探している場合は、コードを掘り下げる必要があります。

于 2012-07-13T19:13:01.507 に答える