python+旋转矩阵和旋转向量的互相转换
直接上代码,很简单,就是一个函数(想要弄清原理的可以另寻文章)
在控制台测试
import cv2
import numpy as np
T = np.zeros((1,3), np.float32)
a = (1,2,3)
print(a)
R, j = cv2.Rodrigues(a)
print(R)
a, j = cv2.Rodrigues(R)
print(a)
输出结果:
(0.2, 0.4, 0.8)
[[ 0.62722765 -0.65533377 0.42085997]
[ 0.72988824 0.6831435 -0.02404381]
[-0.27175103 0.32226169 0.90680691]]
[[0.2]
[0.4]
[0.8]]
如果是旋转向量,会自动转换为旋转矩阵和雅可比矩阵;
如果是旋转矩阵,会自动转换为旋转向量和雅可比矩阵;
可能会出现有些输入数据经过两次Rodrigues之后发生变化,比如(1, 2, 3),如有了解的,欢迎评论区回复,谢谢!