0

表面にn個(n = 4と仮定できます)の識別された点がある小さな立方体があります。これらのポイントには番号(1-n)が付けられ、座標空間を形成します。ここで、ポイント#1が原点です。

現在、追跡カメラを使用して、カメラの座標空間を基準にしたこれらのポイントの座標を取得しています。p_iこれは、カメラの原点から立方体の表面を指すn個のベクトルがあることを意味します。

その情報を使用して、これら2つの座標空間間の変換を表すアフィン変換行列(回転+平行移動)を計算しようとしています。平行移動の部分はかなり些細なことですが、回転行列の計算に苦労しています。

この問題の解決に役立つ可能性のあるOpenCVの組み込み機能はありますか?

4

3 に答える 3

1

cvGetPerspectiveTransformあなたが探しているもののように聞こえます。cvFindHomograpy役に立つかもしれません。

于 2012-05-22T17:06:21.283 に答える
1

solvePnPは、回転行列と並進ベクトルを提供するはずです。CV_EPNPまたはで試してみてくださいCV_ITERATIVE

編集:または、おそらくRQ 分解を探しています。

于 2012-05-22T17:21:14.470 に答える
1

OpenCV のステレオ カメラ チュートリアルを見てください。OpenCV はすべての計算に平面チェス盤を使用し、Z 次元を 0 に設定して 3D ポイントのリストを作成します。既に 3D ポイントがあるので、チュートリアルのコードを変更して、3D ポイントのリストを反映させます。次に、変換を計算できます。

于 2012-05-23T21:38:49.333 に答える