100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > PCL库——点云数据处理

PCL库——点云数据处理

时间:2020-07-22 07:11:50

相关推荐

PCL库——点云数据处理

1.读取点云数据

/*依赖库文件*/#include <pcl/io/pcd_io.h>/*创建点云变量*/pcl::PointCloud<pcl::PointXYZ> PointCloud;PointCloud::Ptr cloud_in(new PointCloud);/*文件路径*/std::string filename = "***/***/***.pcd";/*读取文件*/if(pcl::io::loadPCDFile<pcl::PointXYZ>(filename, *cloud_in)){std::cout << "load pcd file fail!" << std::endl;return -1;}

2.保存点云数据

/*依赖库文件*/#include <pcl/io/pcd_io.h>/*待存储点云数据*/pcl::PointCloud<pcl::PointXYZ> PointCloud;pcl::PointCloud::Ptr cloud_out(new PointCloud);/*目标存储文件*/std::string pcd_file = "***/***/***.pcd";std::string bin_file = "***/***/***.bin";/*保存点云数据*//*wauy 1*/pcl::PCDWriter writer;writer.write(pcd_file, *cloud_out);/*way 2*/pcl::io::savePCDFileBinary(bin_file, *cloud_out);pcl::io::savePCDFileASCII(pcd_file, *cloud_out);

3.显示点云数据

boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("cloud show"));int v1 = 0;viewer->createViewPort(0, 0, 1.0, 1.0, v1);/*创建查看窗口*/viewer->setBackgroundColor(255,255, 255, v1);/*窗口背景颜色设置*/viewer->setBackgroundColor(255,255, 255);pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> raw(cloud, 0, 0, 0);/*设置点云对应颜色*/viewer->addPointCloud(cloud, raw, "source cloud", v1);/*设置好的点云加入窗口*/while (!viewer->wasStopped()){viewer->spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(10000));}system("pause");return 0;

4.寻找坐标极值

pcl::PointXYZ minPt, maxPt;pcl::getMinMax3D(*cloud, minPt, maxPt);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。