#include \n#include <pcl/io/pcd_io.h>\n#include <pcl/point_types.h>\n#include <pcl/visualization/pcl_visualizer.h>\n\nint main()\n{\n // 读取点云文件1\n pcl::PointCloudpcl::PointXYZ::Ptr cloud1(new pcl::PointCloudpcl::PointXYZ);\n pcl::io::loadPCDFilepcl::PointXYZ("cloud1.pcd", *cloud1);\n\n // 读取点云文件2\n pcl::PointCloudpcl::PointXYZ::Ptr cloud2(new pcl::PointCloudpcl::PointXYZ);\n pcl::io::loadPCDFilepcl::PointXYZ("cloud2.pcd", *cloud2);\n\n // 创建可视化对象\n pcl::visualization::PCLVisualizer viewer("Point Cloud Viewer");\n\n // 将点云1可视化为白色\n viewer.addPointCloudpcl::PointXYZ(cloud1, "cloud1");\n viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0, 1.0, 1.0, "cloud1");\n\n // 将点云2可视化为蓝色\n viewer.addPointCloudpcl::PointXYZ(cloud2, "cloud2");\n viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 0.0, 0.0, 1.0, "cloud2");\n\n // 寻找点云1和点云2中相同的点,并将其颜色设置为蓝色\n for (size_t i = 0; i < cloud1->size(); i++)\n {\n pcl::PointXYZ point1 = cloud1->at(i);\n for (size_t j = 0; j < cloud2->size(); j++)\n {\n pcl::PointXYZ point2 = cloud2->at(j);\n if (point1.x == point2.x && point1.y == point2.y && point1.z == point2.z)\n {\n viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 0.0, 0.0, 1.0, "cloud1", i);\n break;\n }\n }\n }\n\n // 显示点云\n while (!viewer.wasStopped())\n {\n viewer.spinOnce();\n }\n\n return 0;\n}

C++ PCL 库:可视化两个点云文件中的相同点

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

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