2

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html# calibrationcamera

9*6 のチェス盤パターンで cv:: calibrationCamera メソッドを使用しました。現在、各パターンに対応する rvecs と tvecs を取得しています。誰か rvecs と tvecs の形式を説明できますか? 私が理解している限りでは、それぞれが 3*1 行列です。OpenCVのドキュメントでは、ロドリゲス関数を確認することを提案しています。

http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula

Rodrigues に関する限り、特定の軸を中心にベクトルを角度シータで回転させる方法です。しかし、これには Vector(ux,uy,uz) と角度の 4 つの値が必要です。しかしopenCVは3つの値しか使用していないようです。

OpenCV Rodrigues のドキュメントは、以下のリンクを参照してくださいhttp://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#void Rodrigues(InputArray src, OutputArray dst, OutputArray jacobian)

3*1 行列を 3*3 回転行列に変換すると言っています。このマトリックスは、3D グラフィックスを使用するものと同じですか。それを 4*4 マトリックスに変換して、以下のような変換に使用できますか?

M4X4 [

xxx 0

xxx 0

xxx 0

0 0 0 1

]

x : ロドリゲス関数の出力 3 行 3 列の行列からの値です。関係は有効ですか:

Vout = M4X4 * Vin; 上記のマトリックスを使用します。

4

1 に答える 1

1

3x1 回転ベクトルは、ベクトルが指す方向によって回転軸を定義し、ベクトルの大きさによって角度を定義することによって、回転行列を表すことができます。opencv 関数Rodrigues(InputArray src, OutputArray dst)を使用すると、記述した関数に適合する回転行列を取得できます。

于 2013-02-12T18:42:13.330 に答える