Python 版本 opencv 中的 Rodrigues 函数不起作用

Sim*_*ing 2 python opencv rotation

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

 [[ 0.59966056 -0.59966056  0.52991926]
 [ 0.70710678  0.70710678  0.        ]
 [-0.37470951  0.37470951  0.8480481 ]]
Run Code Online (Sandbox Code Playgroud)

我写的代码是这样的

rotVec = np.zeros((1, 3), np.float32)
cv2.Rodrigues(rotMat, rotVec)
Run Code Online (Sandbox Code Playgroud)

其遵循文档如下 在此输入图像描述 但结果发现结果全是0,函数不起作用。我对 python 很陌生,如果有人能指出错误,我将不胜感激。

The*_*ane 5

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

  • 我读得有点太快了;我很抱歉。多一点措辞会有所帮助;我通常会寻找明确的教程回应。我想我是被“尝试”这个词触发的。我们更愿意向 OP 解释该解决方案“为什么”有效。我以一种富有成效的方式编辑了您的回复;我邀请您改进我的尝试。 (2认同)