{"#include" \n#include" <pcl/point_cloud.h>\n#include" <pcl/point_types.h>\n\nint main()\n{\n std::vector<pcl::PointCloudpcl::PointXYZRGB::Ptr> yezi;\n\n // 示例数据\n pcl::PointCloudpcl::PointXYZRGB::Ptr cloud1(new pcl::PointCloudpcl::PointXYZRGB);\n pcl::PointCloudpcl::PointXYZRGB::Ptr cloud2(new pcl::PointCloudpcl::PointXYZRGB);\n pcl::PointCloudpcl::PointXYZRGB::Ptr cloud3(new pcl::PointCloudpcl::PointXYZRGB);\n\n // 假设每个点云有一些数据\n cloud1->width = 10;\n cloud1->height = 1;\n cloud1->points.resize(cloud1->width * cloud1->height);\n for (size_t i = 0; i < cloud1->points.size(); ++i)\n {\n cloud1->points[i].x = i;\n cloud1->points[i].y = i * 2;\n cloud1->points[i].z = i * 3;\n }\n\n cloud2->width = 5;\n cloud2->height = 1;\n cloud2->points.resize(cloud2->width * cloud2->height);\n for (size_t i = 0; i < cloud2->points.size(); ++i)\n {\n cloud2->points[i].x = i * 10;\n cloud2->points[i].y = i * 20;\n cloud2->points[i].z = i * 30;\n }\n\n cloud3->width = 8;\n cloud3->height = 1;\n cloud3->points.resize(cloud3->width * cloud3->height);\n for (size_t i = 0; i < cloud3->points.size(); ++i)\n {\n cloud3->points[i].x = i * 100;\n cloud3->points[i].y = i * 200;\n cloud3->points[i].z = i * 300;\n }\n\n // 将点云指针添加到容器\n yezi.push_back(cloud1);\n yezi.push_back(cloud2);\n yezi.push_back(cloud3);\n\n // 遍历输出点云数据\n for (size_t i = 0; i < yezi.size(); ++i)\n {\n std::cout << "PointCloud " << i << " has " << yezi[i]->points.size() << " points." << std::endl;\n for (size_t j = 0; j < yezi[i]->points.size(); ++j)\n {\n std::cout << " Point " << j << ": "\n << yezi[i]->points[j].x << " "\n << yezi[i]->points[j].y << " "\n << yezi[i]->points[j].z << std::endl;\n }\n }\n\n return 0;\n}\n\n这段代码创建了一个包含三个点云指针的容器std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> yezi,并将每个点云指针添加到容器中。然后,使用两个嵌套的循环遍历输出每个点云的数据。注意,示例中的点云数据只是用于演示目的,你可以根据自己的需要替换为实际的点云数据。

C++ PCL库: 输出std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> 容器内点云指针数据

原文地址: https://www.cveoy.top/t/topic/pSZY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录