2013-02-12 61 views
1

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#calibratecameraOpenCV的摄像机标定使用旋转矩阵

的我用CV :: calibrateCamera方法与9 * 6棋盘图案。 现在我得到rvecs和tvecs对应于每种模式, 有人可以解释rvecs和tvecs的格式吗? 据我了解,它是每个是3 * 1矩阵。 和OpenCV文档建议查看Rodrigues函数。

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

据Rodrigues的来讲它是这样旋转的矢量 周围角度theta给定轴。 但为此,我们需要四个值单位矢量(ux,uy,uz)和角度。但openCV似乎只使用3个值。

OpenCV的罗德里格斯文档,请参阅以下链接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

]

x:是来自Rodrigues函数输出3by3矩阵的值。 关系是否有效:

Vout = M4X4 * Vin; 使用上面的矩阵。

回答

1

的3X1旋转矢量可以通过经由方向限定旋转轴线表达的旋转矩阵,该矢量点和通过该矢量的大小的角度。使用opencv函数Rodrigues(InputArray src, OutputArray dst)您可以获得适合您描述的函数的旋转矩阵。