2016-05-07 13 views
0

私は、3次元空間内の正方形の2次元画像(投影)を持っています。私はこれが完璧な正方形(90度の角度と等しい長さの辺)であることを知っています。正方形の同次座標

私は正方形の投影にポイントを突き刺して正方形の上に "実際の"座標を見つけることができます。インターネットの周りを少し読んでから、私はこれらがポイントの "同質的な座標"と呼ばれることを理解するようになりました。 (これは正しいですか?)。簡単のために、正方形の各辺の長さが1であると仮定してください。

簡単にするため、カメラは歪みのないピンホールカメラであり、必要に応じてそのプロパティを測定できます。また、カメラ上のx、y座標は対称である。

私のプログラムでは、チェス盤にチェスを配置しようとしています。ボードのコーナーを検出するのは簡単で、ピースの位置を特定するのは簡単です。しかし、私はボード上の個々の四角形の検出をスキップしようとしています。

enter image description here

+0

ホモグラフィ評価を参照してください。https://en.wikipedia.org/wiki/Homography_(computer_vision)、http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html ?highlight = findhomography#findhomography – Zaphod

答えて

1

あなたクワッド頂点(U(I)、V(I))は、正方形の頂点の透視投影(X(I)、Y(I))です。正方形のある点の座標を見つけるには、4組の点を使って逆透視変換の行列を見つけ、この行列を与えられた点の座標に適用する必要があります。
Paul Heckbert articleは、このプロセスの数学を示しています。

おそらく、あなたはperspの計算のためにすぐに使えるライブラリを見つけることができます。マトリックス。 C++バリアント:Agg2

+0

スクエアからスクリーンまでの投影行列をすでに持っている場合は、それを逆にして逆行列を求め、それを使ってクリック点をモデル空間に変換することができます。そうでなければ、Agg2のようにHeckbertの方法を使用してください。 –

関連する問題