thequitesunshine007
探索者
展开
-
Eigen:旋转向量(Angle-Axis)转换为四元素和旋转矩阵
绕固定系旋转,旋转的先后顺序为X、Y、Z。当然也支持XYZ的任意顺序旋转。原创 2023-11-12 00:31:30 · 921 阅读 · 0 评论 -
使用Eigen库进行(X-Y-Z固定角坐标系)下的矩阵、RPY角、四元素之间的转换
固定一词指的是旋转是在固定的(不运动的)参考坐标系中确定的。也成翻滚角(Roll)、俯仰角(Pitch)、偏转角(Yaw).运行结果和输入结果一致,前提是输入要在合理范围内!原创 2023-06-09 11:37:16 · 604 阅读 · 0 评论 -
图像旋转任意角度及其后图中点坐标的对应变化
图像中有一个点P, 将图像旋转任意角度(默认旋转点为图像中心)后,求旋转后的图像?求原图中的点P在旋转后图像中的坐标?问题分为2大步去解决。1)得到旋转矩阵.主要是借助于getRotationMatrix2D算子。getRotationMatrix2D得到的矩阵为2行3列。2)计算旋转后图像的新大小,旋转后图像的宽高发生变化。此外,图像的中心位置也发生偏移,需要进行偏移量调整。原创 2023-01-28 14:17:58 · 1019 阅读 · 0 评论 -
如何由二维旋转齐次矩阵求旋转角度(涉及Atan2和Atan的区别)
由二维旋转齐次矩阵求旋转角度 由本人的另一博客专门讲述了,二维平面内,一个坐标系相对于另一个坐标系旋转偏移后的变换矩阵。在二维平面内,坐标系B相对于坐标系A的变换矩阵为:cv::Mat RT_B2A = (cv::Mat_(3, 3) <<cosa, -sina, delta_x,sina, cosa, delta_y,0, 0, 1);那么如何根据二维旋转齐次矩阵求旋转角度?话不多说,直接上代码吧。 bool Ge.原创 2021-04-03 16:40:21 · 982 阅读 · 0 评论 -
二维平面内,一个坐标系相对于另一个坐标系旋转偏移后的变换矩阵
二维平面内的旋转和平移 记坐标系Xa-Oa-Ya为A,记坐标系Xb-Ob-Yb为B。 原本B与A完全重合,现在将B偏移一定的距离,B的原点在A中的坐标为(delta_x,delta_y)。再将B的X轴逆时针旋转a度( 弧度制表示,便于直接代码进行三角函数运算 )。那么,坐标系B相对于坐标系A的变换矩阵为://坐标系B相对于坐标系A的变换关系。cv::Mat RT_B2A = (cv::Mat_(3, 3) <<cosa, -sina, delta_x,sina, cosa, .原创 2021-03-06 17:18:50 · 1965 阅读 · 0 评论 -
仿射变换及其变换矩阵的理解
目录写在前面仿射变换:平移、旋转、放缩、剪切、反射变换矩阵形式变换矩阵的理解与记忆变换矩阵的参数估计参考转载 2021-01-22 15:40:43 · 848 阅读 · 0 评论 -
求解空间两个三维坐标系之间的变换矩阵
三维刚体变换模型(即旋转/平移矩阵,RT矩阵)的估计方法话不多说,上代码。亲写亲测有效。cv::Mat Get3DR_TransMatrix(const std::vector<cv::Point3f>& srcPoints, const std::vector<cv::Point3f>& dstPoints){ double srcSumX = 0.0f; double srcSumY = 0.0f; double srcSumZ = 0.0f;原创 2020-05-14 16:59:41 · 19849 阅读 · 17 评论 -
欧拉角与旋转RT矩阵的相互转换
表示空间刚性姿态的方式有多种:欧拉角,四元素,RT矩阵,这三种主流方式之间可以相互转化。欧拉角表示法只有三个变量,简洁。这也是我为什么在工程配置文件中选择欧拉角。我自己写的代码,亲测可用。// Transform.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <cstdio>#include <cmath&g...原创 2020-04-16 17:18:08 · 1896 阅读 · 1 评论