首页 > 其他 > 详细

问题记录-(2019/11/5)

时间:2019-11-05 19:36:03      阅读:88      评论:0      收藏:0      [点我收藏+]
  • 坐标变换-旋转(我们把点云原坐标系称为世界坐标系,把以本身正方向得到的坐标系称为 基坐标系)

让点云cloud 旋转到与坐标轴重回,且质心位于世界坐标系原点;

1。由cloud 本身参数求得质心,获得协方差矩阵,由协方差矩阵solver 得到 vectors 和 values,

使得vectors 正交化,得到点云主方向极坐标,也是由cloud世界坐标到基坐标的旋转矩阵,

2.点云旋转至世界坐轴系重回即为基坐标向世界坐标系旋转。求仿射变换矩阵。

    Eigen::Matrix4f transfroms_residual = Eigen::Matrix4f::Identity();
    Eigen::Matrix4f transfroms_residual_inv = Eigen::Matrix4f::Identity();
    transfroms_residual.block<3, 3>(0, 0) = eigenVectorsPCA_residual.transpose();
    transfroms_residual.block<3, 1>(0, 3) = -1.0f*(eigenVectorsPCA_residual.transpose())*(pcaCentroid_residual.head<3>()); //-R*t
    transfroms_residual_inv = transfroms_residual.inverse();

要使质心位于世界坐标系原点,则平移向量为质心点坐标;

求得仿射变换矩阵;

 

 

 

 

 

问题记录-(2019/11/5)

原文:https://www.cnblogs.com/xiaoniubenrecord-6161/p/11800327.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!