2010-11-18 11 views
5

私たちは、飛行機の2つの異なる表現にポイントを置くという問題を解決しようとしています。私たちが持っている最初の平面は回転している。 2番目は同じ平面の2次元ビューです。われわれが知っているそれぞれのプランには4つのポイントがあります。問題は、平面1に任意の点があれば、平面2で対応する点をどうやって見つけるのでしょうか?4点で識別される任意の平面を2次元平面に投影するにはどうすればよいですか?

質問を明確にするために、ユースケースを説明することをお勧めします。私たちは左のイメージを持っています。

Projective plane

alt text

空間の2Dレイアウト図

alt text

だから我々が持っているギブンスは、両方の画像から赤い四角です。可能であれば、2D空間が必ずしも正方形ではないことが可能であることを希望します。これらは事前に私たちに利用可能であり、知られています。私はまた、最初の画像で平面上に緑色の点を配置​​しています。画像1のドットを画像2の空間に投影することができます。

画像にも注意してください。1定義されたウィンドウや目の位置はありません。私は、画像1の赤い正方形が赤い四角形の画像2の変換であり、画像2が2D空間にあることを知っています。

+0

あなたの写真ポイントに(x、y、z)がある場合、またはいくつかの値を指定すると可能かもしれません... –

+2

OpenCVが好きなら、この問題はホモグラフィ( 'cv :: findhomography')。終了すると、最初のイメージの任意の点が、同次座標で 'x '= Hx'を適用して2番目のビューにマップされます。 –

答えて

6

これは、直線を保存する四角形間のマッピングを見つける特殊なケースです。これらは一般にホモグラフィ変換と呼ばれます。ここで、クワッドの1つは正方形なので、これは一般的な特殊なケースです。あなたは、これらの用語( "クワッドからクワッド"など)を説明とコードを見つけるためにgoogleすることができますが、ここではあなたのためにいくつかあります。ポール・Heckbertによって

Perspective Transform Estimation

a gaming forum discussion

extracting a quadrilateral image to a rectangle

Projective Warping & Mapping

ProjectiveMappings for ImageWarping

数学は特に楽しいものではありませんが、それほど難しいことでもありません。上のリンクからコードを見つけることもできます。

+0

最初のリンクはとても助かりました、ありがとう。 – Scott

関連する問題