点云 PCL 可视化

PCL 我用的最多的可视化代码

记录下那些年折腾过的代码
源代码就是PCL教程上的,优秀,根据源代码改编就可以用了,毕竟我这样的C++渣渣也能写出来了

#include <pcl/ModelCoefficients.h>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/features/normal_3d.h>
#include <pcl/kdtree/kdtree.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/segmentation/extract_clusters.h>
#include <pcl/io/io.h>
#include<time.h>
#include <pcl/filters/approximate_voxel_grid.h>

头文件不用管,为了方便常用的我都塞进去了


int 
	main(int argc,char** argv)
{
 

这是最简单的直接读取文件的方式


  	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
	pcl::io::loadPCDFile<pcl::PointXYZ>( "backpack.pcd",*cloud)==-1;//*打开点云文件
	pcl::PCDReader reader;
	pcl::PCDWriter writer;
	

//这里用的 visualization 类


	pcl::visualization::PCLVisualizer viewer("3D Viewer");
	viewer.setBackgroundColor(255, 255, 255);

//有的时候出图需要带颜色 ,这里是给点云添加颜色 ,RGB就行


	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>cloud_color(filtered_cloud, 0, 0, 0);
	viewer.addPointCloud(filtered_cloud, cloud_color, "cloud");

//这里添加多个文件,并且每个文件随机显示不同的颜色,点云教程还是很管用的,学到不少

/*	for (int i = 1; i <=25; i++)
	{
		std::stringstream gg;
		gg <<  i << ".pcd";
		//gg << "cloud_cluster_"<<i << ".pcd";
		reader.read<pcl::PointXYZ>(gg.str(), *cloud, false);

		pcl::visualization::PointCloudColorHandlerRandom<pcl::PointXYZ> randomColor(cloud);
		viewer.addPointCloud(cloud, randomColor, gg.str());
	}

	pcl::visualization::PointCloudColorHandlerRandom<pcl::PointXYZ> randomColor(cloud);
	viewer.addPointCloud(cloud, randomColor);
	*/


	//viewer.showCloud(cloud);
	while (!viewer.wasStopped())
	{
		viewer.spinOnce();
	}
    return 0;
}

过了好长时间才知道,运行代码还有一种方式。
编译程序,生成.exe文件后

运行cmd
到对应文件夹下运行

完成!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值