解读下面程序pclPointCloudPointTypePtr transformPointCloudpclPointCloudPointTypePtr cloudIn PointTypePose transformIn pclPointCloudPointTypePtr cloudOutnew pclPointCloudPointType; int cloudSize = cloud
该程序是一个函数,用于将输入的点云按照给定的姿态变换矩阵进行变换,并返回变换后的点云。具体步骤如下:
- 创建一个新的空点云cloudOut。
- 获取输入点云的size,并将cloudOut的size设置为与之相同。
- 获取输入的姿态变换矩阵transformIn,将其转换为Eigen::Affine3f类型的变量T_w_b_。
- 获取当前点云相对于世界坐标系的变换矩阵T_w_b,即将T_w_b_转换为Eigen::Isometry3d类型变量T_w_b,并将其乘以相对于车身坐标系的变换矩阵T_b_lidar,得到当前点云相对于激光雷达坐标系的变换矩阵T_w_lidar。
- 并行地遍历输入点云中的每一个点,将其按照T_w_lidar变换矩阵进行变换,得到变换后的点,并将其存储到cloudOut中。
- 返回变换后的点云cloudOut。
原文地址: https://www.cveoy.top/t/topic/gCBz 著作权归作者所有。请勿转载和采集!