PCL ——(4)点云文件读写
程序员文章站
2022-04-17 17:26:43
...
写PCD文件
#include <pcl/io/pcd_io.h>//包含了PCD输入输出操作的声明
#include <pcl/point_types.h>//包含一些PointT类型结构体的声明(本例中是pcl::PointXYZ)。
int main(int argc,char **argv){
pcl::PointCloud<pcl::PointXYZ>cloud;
// 创建点云
cloud.width=5;
cloud.height=1;
cloud.is_dense=false;
cloud.points.resize(cloud.width*cloud.height);
for(size_ti=0;i<cloud.points.size();++i)
{
cloud.points[i].x=1024*rand()/(RAND_MAX+1.0f);
cloud.points[i].y=1024*rand()/(RAND_MAX+1.0f);
cloud.points[i].z=1024*rand()/(RAND_MAX+1.0f);
}
// 保存到文件中
pcl::io::savePCDFileASCII("test_pcd.pcd",cloud);
return 0;
}
读PCD文件
#include <iostream> //标准C++库中的输入输出类相关头文件。
#include <pcl/io/pcd_io.h> //pcd 读写类相关的头文件。
#include <pcl/point_types.h> //PCL中支持的点类型头文件。
int main(int argc, char **argv){
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(newpcl::PointCloud<pcl::PointXYZ>);//创建一个PointCloud<PointXYZ> boost共享指针并进行实例化。
if(pcl::io::load PCDFile<pcl::PointXYZ>("test_pcd.pcd",*cloud)==-1)//打开点云文件
{
PCL_ERROR("Couldn't read file test_pcd.pcd\n");
return(-1);
}
return 0;
}
打赏
码字不易,如果对您有帮助,就打赏一下吧O(∩_∩)O