在opencv中从solvePnP获得的旋转向量的平均值是多少?

时间:2016-04-14 12:00:57

标签: opencv rotational-matrices

我想使用函数solvepnp来计算欧拉角,我得到rvec。它是旋转矢量。它是什么意思?

使用Rodrigues()可以获得旋转矩阵。如何直接从rvec得到俯仰,偏航和滚动?

1 个答案:

答案 0 :(得分:1)

image说明旋转矢量表示:矢量部分表示方向,角度部分是您想围绕矢量/方向旋转的量: By DF Malan (Own work) [Public domain], via Wikimedia Commons 由DF Malan(自己的工作)[公共领域],通过Wikimedia Commons

首先,你必须记住,欧拉角度表示可能导致gimbal lock失去自由。旋转矩阵或旋转矢量表示不是这种情况。

然后,你必须为Euler angles选择一个约定(z-y-x,x-y-z,...)。

最后,根据您选择的旋转顺序,您必须从旋转矩阵中提取欧拉角,here您具有特定约定的相应方程。您将看到一些旋转矩阵形式将产生歧义(欧拉角的某些部分的多个或无限可能值)。

Here你可以找到作者在OpenCV中选择的约定的转换旋转矩阵到欧拉角(here代码来自的教程。)