opencv-cvRodrigues2
官方文档
讲的比较少原因是大家一般都调用c++接口Rodrigues,一屏截图放不下大家自行参考去吧。C++版本的有例子,感觉混在一起了,下面我开发一个小例程帮助大家理解。
jacobian
此参数主要是复合函数求导时应用。
小例程
double vec_d[3] = { 0.,0.,M_PI / 2 };//[0,0,1]表示Z轴,[0,0,1]x(M_PI / 2)表示绕Z轴90度。
CvMat vec = cvMat(3, 1, CV_64FC1, vec_d);
CvMat *out = cvCreateMat(3, 3, CV_64FC1);
cvRodrigues2(&vec, out);
//out-{cos(90),-sin(90),0}
// {sin(90),cos(90),0}
// {0,0,1}
输入为旋转向量,输出为旋转矩阵均表示绕Z轴旋转90度。对旋转向量和矩阵不熟悉的请查阅其他文档。对于旋转矩阵转为旋转向量函数通用。
应用
在机器人领域常常需要做该变换,因为这两种方式表示旋转时各有优点,旋转向量表示数据量比较少,但是在进行几何变换计算时往往旋转矩阵更方便。
注
希望小例程帮助到你,我有时间会出一系列小例程,有想要我分享函数欢迎在评论区留言。
本人研究方向为视觉缺陷检测与视觉测量、机器人视觉。欢迎同志们沟通交流!
版权声明:本文为yuegooxi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。