从 opencv 中的 solvePnP 获得的旋转矢量的意思是什么?

What's the mean of the rotation vector which got from solvePnP in opencv?

我想用函数solvepnp计算欧拉角,得到rvec,是旋转vector.what是什么意思?

使用Rodrigues()可以获得旋转matrix.How我可以直接从rvec获得俯仰,偏航和滚动吗?

这个 image 说明了旋转矢量表示:矢量部分表示方向,角度部分是您要围绕 vector/direction 旋转的量: 作者:DF Malan(自己的作品)[Public 域],来自 Wikimedia Commons

首先,您必须记住,欧拉角表示法失去了自由度,这可能会导致 gimbal lock。这不是旋转矩阵或旋转向量表示的情况。

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

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

Here you can find the conversion rotation matrix to Euler angles for the convention the author have chosen in OpenCV (here代码出自的教程)。