Eigen Matrixxf和PCL点云相互转换样例

2023-02-17  本文已影响0人  VellBibi
pcl::PointCloud<pcl::PointXYZI>::Ptr source_cloud = pcl::PointCloud<pcl::PointXYZI>::Ptr(
            new pcl::PointCloud<pcl::PointXYZI>);
pcl::io::loadPCDFile(file_source, *source_cloud);

// 点云转Eigen,并转为double
Eigen::Matrix<double, 3, Eigen::Dynamic> vertices_source = source_cloud->getMatrixXfMap(3,8,0).cast<double>();

// X轴移动1米
vertices_source.colwise() += Eigen::Vector3d(1.0,0.0,0.0);

// 存回点云
source_cloud->getMatrixXfMap(3,8,0)= vertices_source.cast<float>();
pcl::io::savePCDFileBinary("out.pcd", *source_cloud);
上一篇 下一篇

猜你喜欢

热点阅读