#include #include <pcl/io/pcd_io.h> #include <pcl/visualization/pcl_visualizer.h>

int main() { // 创建PCL可视化对象 pcl::visualization::PCLVisualizer viewer("PointCloud Viewer"); viewer.setBackgroundColor(0.0, 0.0, 0.0);

// 创建一个颜色生成器,用于为每个索引生成不同的颜色
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> color_handler;

// 假设已经有一个存储索引的vector
std::vector<pcl::PointIndices> newIndicesVector;

// 遍历每个索引
for (int i = 0; i < newIndicesVector.size(); ++i)
{
    // 从磁盘加载点云数据
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::io::loadPCDFile<pcl::PointXYZ>("path_to_pcd_file.pcd", *cloud);

    // 设置颜色生成器的颜色为当前索引的颜色
    color_handler.setR255(rand() % 256);
    color_handler.setG255(rand() % 256);
    color_handler.setB255(rand() % 256);

    // 将点云数据添加到PCL可视化对象中,并使用颜色生成器显示颜色
    viewer.addPointCloud<pcl::PointXYZ>(cloud, color_handler, std::to_string(i));
}

// 显示点云数据
while (!viewer.wasStopped())
{
    viewer.spinOnce();
}

return 0;

}


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

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