版权声明: 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);