#include "pcl/point_types.h"\n#include "pcl/io/pcd_io.h"\n\nint main()\n{\n pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);\n pcl::PointCloudpcl::PointXYZ::Ptr by_slicing_cloud(new pcl::PointCloudpcl::PointXYZ);\n std::vector idx1; // 索引数据\n\n // 从文件加载点云数据\n pcl::io::loadPCDFilepcl::PointXYZ("input_cloud.pcd", *cloud);\n\n // 将idx1索引表示的点云数据加入到by_slicing_cloud\n by_slicing_cloud->width = idx1.size();\n by_slicing_cloud->height = 1;\n by_slicing_cloud->is_dense = false;\n by_slicing_cloud->points.resize(by_slicing_cloud->width * by_slicing_cloud->height);\n\n for (size_t i = 0; i < idx1.size(); ++i) {\n by_slicing_cloud->points[i].x = cloud->points[idx1[i]].x;\n by_slicing_cloud->points[i].y = cloud->points[idx1[i]].y;\n by_slicing_cloud->points[i].z = cloud->points[idx1[i]].z;\n }\n\n // 保存结果点云\n pcl::io::savePCDFileASCII("output_cloud.pcd", *by_slicing_cloud);\n\n return 0;\n}