#include <pcl\visualization\pcl_visualizer.h>

void visualizePointClouds(const std::vector<pcl::PointCloudpcl::PointXYZRGB::Ptr>& pointClouds) { pcl::visualization::PCLVisualizer viewer("PointCloud Viewer");

// 遍历所有点云 for (size_t i = 0; i < pointClouds.size(); ++i) { // 生成一个随机颜色 unsigned char r = rand() % 256; unsigned char g = rand() % 256; unsigned char b = rand() % 256;

// 设置点云的颜色 pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZRGB colorHandler(pointClouds[i], r, g, b);

// 将点云添加到可视化器中 viewer.addPointCloudpcl::PointXYZRGB(pointClouds[i], colorHandler, "cloud" + std::to_string(i)); }

// 显示点云 viewer.spin(); }

int main() { std::vector<pcl::PointCloudpcl::PointXYZRGB::Ptr> pointClouds;

// 假设pointClouds中已经有了一些PointCloud指针

// 可视化点云 visualizePointClouds(pointClouds);

return 0; }

本代码使用PCL库的C++代码,可以将包含未知数量的点云指针的std::vector可视化为不同颜色的点云,并在一个窗口中显示。代码示例演示了如何使用PCLVisualizer类创建可视化器,如何为每个点云生成随机颜色,以及如何将点云添加到可视化器中。

C++ PCL库:将多个点云可视化为不同颜色

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

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