小编Bre*_*ens的帖子

使用opencv将旋转矩阵转换为欧拉角

我正在开展一个涉及 Aruco 标记和 openCV 的项目。我的项目进展还很远。我可以读取旋转向量并使用 openCV 将它们转换为罗德里格斯矩阵rodrigues()

这是我得到的罗德里格斯矩阵的示例:

[0,1,0;

 1,0,0;

 0,0,-1]
Run Code Online (Sandbox Code Playgroud)

我使用以下代码。

Mat m33(3, 3, CV_64F);
Mat measured_eulers(3, 1, CV_64F);
Rodrigues(rotationVectors, m33);

measured_eulers = rot2euler(m33);

Degree_euler = measured_eulers * 180 / CV_PI;
Run Code Online (Sandbox Code Playgroud)

我使用预定义的 rot2euler 将罗德里格斯矩阵转换为欧拉角。我将收到的弧度转换为度数。

rot2euler 如下所示。

Mat rot2euler(const Mat & rotationMatrix)
{
    Mat euler(3, 1, CV_64F);

    double m00 = rotationMatrix.at<double>(0, 0);
    double m02 = rotationMatrix.at<double>(0, 2);
    double m10 = rotationMatrix.at<double>(1, 0);
    double m11 = rotationMatrix.at<double>(1, 1);
    double m12 = rotationMatrix.at<double>(1, 2);
    double m20 = rotationMatrix.at<double>(2, 0);
    double …
Run Code Online (Sandbox Code Playgroud)

opencv euler-angles rotational-matrices

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

euler-angles ×1

opencv ×1

rotational-matrices ×1