方法1
使用PCL中的pcl::copyPointCloud()
函数:
#include <pcl/common/impl/io.h>
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_xyz (new pcl::PointCloud<pcl::PointXYZ> ());
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_xyzi (new pcl::PointCloud<pcl::PointXYZI> ());
pcl::copyPointCloud(*cloud_xyz, *cloud_xyzi);
方法2
手动转换:
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_xyzi (new pcl::PointCloud<pcl::PointXYZI> ());
cloud_xyzi->points.resize(cloud_xyz->size());
for (size_t i = 0; i < cloud_xyz->points.size(); i++) {
cloud_xyzi->points[i].x = cloud_xyz->points[i].x;
cloud_xyzi->points[i].y = cloud_xyz->points[i].y;
cloud_xyzi->points[i].z = cloud_xyz->points[i].z;
}