【PCL学习】.txt转.pcd格式
在转换前,首先确定.txt的格式,是属于xyz还是xyzrgb(含RGB信息),这关系到pcd文件中的格式是创建xyz还是xyzrgba格式。
代码如下:
#include<iostream>
#include<fstream>
#include <string>
#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
using namespace std;
int main()
{
fstream modelRead;
pcl::PointCloud<pcl::PointXYZRGBA> cloud;
pcl::PCDWriter writer;
modelRead.open("test2.txt", std::ios_base::in);
pcl::PointXYZRGBA pclPnt;
while (!modelRead.eof())
{
modelRead >> pclPnt.x >> pclPnt.y >> pclPnt.z>>pclPnt.rgba;
cloud.push_back(pclPnt);
}
modelRead.close();
writer.write("test2.pcd", cloud);
return 0;
}
注:先将xyz类型的数据文件先用记事本打开,保存为txt文件。代码中的输入文件即是该txt文件,建议将该txt文件保存到项目中和源代码同一文件夹下,生成的pcd文件也在该目录下。