C++ PCL库:自动保存多个点云数据为PLY文件并可视化
下面是一个基于PCL库的示例代码,可以自动保存多个点云数据为PLY文件并使用不同的颜色进行可视化:\n\ncpp\n#include <iostream>\n#include <pcl/io/ply_io.h>\n#include <pcl/point_types.h>\n#include <pcl/visualization/pcl_visualizer.h>\n\nint main()\n{\n // 创建一个点云数据\n pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>());\n cloud->width = 100;\n cloud->height = 1;\n cloud->points.resize(cloud->width * cloud->height);\n\n // 设置每个点的坐标和颜色\n for (size_t i = 0; i < cloud->points.size(); ++i)\n {\n cloud->points[i].x = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);\n cloud->points[i].y = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);\n cloud->points[i].z = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);\n cloud->points[i].r = static_cast<uint8_t>(rand());\n cloud->points[i].g = static_cast<uint8_t>(rand());\n cloud->points[i].b = static_cast<uint8_t>(rand());\n }\n\n // 保存点云数据为PLY文件\n pcl::PLYWriter writer;\n writer.write("point_cloud.ply", *cloud);\n\n // 可视化点云数据\n pcl::visualization::PCLVisualizer viewer("Point Cloud Viewer");\n viewer.setBackgroundColor(0, 0, 0);\n viewer.addPointCloud<pcl::PointXYZRGB>(cloud, "cloud");\n viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");\n viewer.spin();\n\n return 0;\n}\n\n\n在上面的代码中,首先使用pcl库创建一个点云数据,并设置每个点的坐标和颜色。然后使用pcl::PLYWriter类将点云数据保存为PLY文件。最后使用pcl::visualization::PCLVisualizer类可视化点云数据,并设置点云的渲染属性。运行代码后,将生成一个名为point_cloud.ply的PLY文件,并显示点云数据的可视化效果。
原文地址: http://www.cveoy.top/t/topic/pBTJ 著作权归作者所有。请勿转载和采集!