参考:http://www.cppblog.com/Tongy0/archive/2012/09/10/190126.html
转载自:http://blog.youkuaiyun.com/shenxiaolu1984/article/details/50639298 http://blog.youkuaiyun.com/tanmengwen/article/details/8477556
使用matlab中Aerospace工具箱函数进行变换:http://www.mamicode.com/info-detail-1308422.html
旋转矩阵

欧拉角

四元数

旋转向量(轴-角)
旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。

旋转向量与旋转矩阵可以通过罗德里格斯(Rodrigues)变换进行转换。

Matlab中旋转向量到旋转矩阵的转换为:
rotationMartrix=rotationVectorToMatrix([rotationVector])
-
<span style=
"font-size:14px;">#include <stdio.h>
-
#include <cv.h>
-
-
void main()
-
{
-
int i;
-
double r_vec[
3]={
-2.100418,
-2.167796,
0.273330};
-
double R_matrix[
9];
-
CvMat pr_vec;
-
CvMat pR_matrix;
-
-
cvInitMatHeader(&pr_vec,
1,
3,CV_64FC1,r_vec,CV_AUTOSTEP);
-
cvInitMatHeader(&pR_matrix,
3,
3,CV_64FC1,R_matrix,CV_AUTOSTEP);
-
cvRodrigues2(&pr_vec, &pR_matrix,
0);
-
-
for(i=
0; i<
9; i++)
-
{
-
printf(
"%f\n",R_matrix[i]);
-
}
-
}
-
-
</span>
