PLC 初学三通道点云的赋值、显示和存储

版权声明: https://blog.csdn.net/qq_25147107/article/details/83790813
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <fstream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件	

//写个点云文件RL0	
pcl::PointCloud<pcl::PointXYZRGB>::Ptr RL0(new pcl::PointCloud<pcl::PointXYZRGB>);
		for (int i = 0; i < pp_l0.size();i++)
		{
			pcl::PointXYZRGB p0;
			p0.x = pp_l0[i].x;
			p0.y = pp_l0[i].y;
			p0.z = pp_l0[i].z;
			p0.r = 0;
			p0.g = 0;
			p0.b = 255;
			RL0->points.push_back(p0);
		}
		RL0->width = RL0->points.size();
		RL0->height = 1;
		RL0->is_dense = false;

//显示点云
		boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer_TR(new pcl::visualization::PCLVisualizer("3D"));
		viewer_TR->setBackgroundColor(1, 1, 1);		
		viewer_TR->addPointCloud<pcl::PointXYZRGB>(RL0, "RL0");
		viewer_TR->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "RL0");
		viewer_TR->addCoordinateSystem(1.0);
		while (!viewer_TR->wasStopped())																						//窗口停留
		{
			viewer_TR->spinOnce(100);
			boost::this_thread::sleep(boost::posix_time::microseconds(100000));
		}
		RL0->points.clear();
//文件保存,有点问题
	path_pcd = "D:/";
	pcl::io::savePCDFile(path_pcd, *RL0);

猜你喜欢

转载自blog.csdn.net/qq_25147107/article/details/83790813
plc