我想使用python版本的opencv函数Rodrigues()将旋转矩阵转换为旋转 vector 。要转换的rotMat是

 [[ 0.59966056 -0.59966056  0.52991926]
 [ 0.70710678  0.70710678  0.        ]
 [-0.37470951  0.37470951  0.8480481 ]]

我写的代码就像
rotVec = np.zeros((1, 3), np.float32)
cv2.Rodrigues(rotMat, rotVec)

遵循类似的文档
python - Python版本opencv中的Rodrigues函数不起作用-LMLPHP
但是事实证明结果全为0,并且该功能无法正常工作。
我对python非常陌生,如果有人可以指出错误,我将不胜感激。

最佳答案

您的函数调用不太正确;您确实需要处理两个返回参数,即使您忽略了一个。这些调用应该适合您:rotVec,_ = cv2.Rodrigues(rotMat)cv2.Rodrigues2(rotMat,rotVec, jacb)

10-07 15:08