PCL库学习(2)----多个点云的读取与显示

本文介绍如何使用PCL库在VS2013环境下批量读取并显示存储于特定路径下的多个点云文件(.pcd),通过C++编程实现对148个点云文件的加载与可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


运行环境:

VS2013,PCL1.8.0


在本文示例中,需要对保存在路径“D:/vs project/cluster_extraction.cpp/cluster_extraction.cpp/”下的点云文件,文件名分别为“cloud_cluster_0.pcd",”cloud_cluster_1.pcd“,”cloud_cluster_2.pcd“........”cloud_cluster_147.pcd"共148个文件进行读取显示。以下是代码


#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/filter_indices.h>
#include <pcl/point_cloud.h>
#include <pcl/visualization/pcl_visualizer.h>
 
using namespace std;
 
int main()
{

//***************************read PCD file*****************************************

	pcl::PointCloud<pcl::PointXYZ>::Ptr source(new pcl::PointCloud<pcl::PointXYZ>());
    //输入点云路径
    string addr = "D:/vs project/cluster_extraction.cpp/cluster_extraction.cpp/";
    string filename;
    //待处理点云个数
    int num = 147;
    
    boost::shared_ptr< pcl::visualization::PCLVisualizer > viewer(new pcl::visualization::PCLVisualizer("Viewer"));
    //背景颜色
    viewer->setBackgroundColor(0, 0, 0);
    //创建窗口
	int vp;
	viewer->createViewPort(0.0, 0.0, 1.0, 1.0, vp);

    for(int i = 0;i <= num; i++){
        //filename 为点云文件名
        filename = addr + "cloud_cluster_" + to_string(i) + ".pcd";
        //读取点云
        pcl::io::loadPCDFile(filename, *source);

	    //设置点云颜色
	    pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> source_color(source, 0, 255, 0);
 
	    viewer->addPointCloud<pcl::PointXYZ>(source, source_color, to_string(i), vp);
    
        //改变显示点云的尺寸
	    viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "source");
    }
    //显示坐标系
    viewer->addCoordinateSystem(1.0);
	viewer->spin();	
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值