我使用 cv::calibrateCamera 方法和 9*6 棋盘图案。现在我得到了每个模式对应的 rvecs 和 tvecs,有人可以解释一下 rvecs 和 tvecs 的格式吗?据我所知,每个都是 3*1 矩阵。并且 OpenCV 文档建议查看 Rodrigues 函数。
http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
就罗德里格斯而言,这是一种以角度θ围绕给定轴旋转矢量的方法。但为此我们需要四个值单元 Vector(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
0 0 0 1
]
x :是罗德里格斯函数的输出 3by3 矩阵的值。关系是否有效:
Vout = M4X4 * Vin;使用上面的矩阵。