pcd点云转txt点云
Posted 没事就要敲代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pcd点云转txt点云相关的知识,希望对你有一定的参考价值。
1 txt点云文件格式(XYZ点云)
坐标之间用空格分割,每一行为一个点
x1 y1 z1
x2 y2 z2
x3 y3 z3
...
2 代码实现
#include <pcl/io/pcd_io.h>
#include <fstream>
using namespace std;
int main()
{
//--------------------------------- 加载点云 --------------------------------
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile("D:\\\\data\\\\test.pcd", *cloud) < 0)
{
PCL_ERROR("\\a点云文件不存在!\\n");
system("pause");
return -1;
}
cout << "->加载点的个数为:" << cloud->points.size() << endl;
//===========================================================================
//--------------------------------- pcd2txt ---------------------------------
//1、创建流对象fs
fstream fs;
//2、为写文件而打开文件,若不存在,则创建
fs.open("D:\\\\data\\\\test.txt", fstream::out);
//3、向文件中写数据
size_t max_i = cloud->points.size();
for (size_t i = 0; i < max_i; i++)
{
fs << cloud->points[i].x << "\\t"
<< cloud->points[i].y << "\\t"
<< cloud->points[i].z << "\\n";
}
//4、关闭文件
fs.close();
cout << "->成功将pcd点云转为txt点云" << endl;
//===========================================================================
return 0;
}
输出结果:
->加载点的个数为:60
->成功将pcd点云转为txt点云
结果展示:
相关链接:
以上是关于pcd点云转txt点云的主要内容,如果未能解决你的问题,请参考以下文章
点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)
点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)
点云格式转换:las点云转pcd点云(XYZXYZIXYZRGB)