码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-05 18:48:01      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:class   col   坐标变换   sid   resid   矩阵   ace   dual   mat   

  • 坐标变换-旋转(我们把点云原坐标系称为世界坐标系,把以本身正方向得到的坐标系称为 基坐标系)

让点云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)

标签:class   col   坐标变换   sid   resid   矩阵   ace   dual   mat   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!