我想使用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)
遵循类似的文档
但是事实证明结果全为0,并且该功能无法正常工作。
我对python非常陌生,如果有人可以指出错误,我将不胜感激。
最佳答案
您的函数调用不太正确;您确实需要处理两个返回参数,即使您忽略了一个。这些调用应该适合您:rotVec,_ = cv2.Rodrigues(rotMat)
或cv2.Rodrigues2(rotMat,rotVec, jacb)