计算旋转矩阵的函数:
Matlab:
//其中R是旋转矩阵,r是旋转向量
R=rotationMatrixToVector(r)
Opencv:
//其中R是旋转矩阵,r是旋转向量
cv::Rodrigues(R,r);
在工作中,我遇到了这么一种情况,就是要用Matlab标定出来的旋转矩阵R,代入到opencv的程序中去。由于Matlab的矩阵是列主序的,而Opencv的矩阵是行主序。
因此,首先要对Matlab的旋转矩阵做转置操作
//在Opencv中
R = R.t();
然后再使用Opencv的旋转向量计算公式。
最后,其实Matlab和Opencv计算出来的旋转向量互为负数。