http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#calibratecamera
我使用了cv::calibrateCamera方法和9*6棋盘图案。现在我得到了每个模式对应的rvec和tvecs,有人能解释一下rvec和tvecs的格式吗?据我所知,每一个都是3*1矩阵。OpenCV文档建议查看Rodrigues函数。
http://en.wikipedia.org/wiki/Rodrigues'_旋转_公式
就罗德里格斯而言,这是旋转矢量的方法围绕具有角度θ的给定轴。但为此,我们需要四个值单位Vector(ux,uy,uz)和角度。但openCV似乎只使用了3个值。
OpenCV rodrigues文档参考以下链接http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#voidRodrigues(InputArray src,OutputArray dst,OutputArray jacobian)
表示它将把3*1矩阵转换成3*3旋转矩阵。这个矩阵和我们使用三维图形的矩阵一样吗。我能把它转换成4*4矩阵,并用它进行转换吗
M4X4[
x x 0
x x 0
x x 0
0 0 0 1
]
x:是rodrigues函数的输出3by3矩阵的值。关系有效吗:
Vout=M4X4*Vin;使用上面的矩阵。
3x1旋转向量可以通过定义向量指向的方向的旋转轴和通过向量大小定义的角度来表示旋转矩阵。使用opencv函数Rodrigues(InputArray src, OutputArray dst)
,您可以获得适合您描述的函数的旋转矩阵。