#include <iostream>
#include <fstream>
#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
using namespace std;
struct POINT_3D {
double x;
double y;
double z;
};
int
main()
{
//加载数据
int number_point;
FILE *fp;
POINT_3D Point;
vector<POINT_3D> vec;
double x2, y2, z2;
fp = fopen("46.raw", "r");
if (NULL == fp)
{
cout << "加载数据失败" << endl;
return -1;
}
cout << "加载数据成功" << endl;
while (fscanf(fp, "%lf%lf%lf%lf%lf%lf", &Point.x, &Point.y, &Point.z, &x2, &y2, &z2) != EOF)
{
vec.push_back(Point);
}
number_point = vec.size();
pcl::PointCloud<pcl::PointXYZ> cloud;
//填入pcd文件
cloud.width = number_point;
cloud.height = 1;
cloud.is_dense = true;
cloud.points.resize(cloud.width*cloud.height);
for (size_t i = 0; i < cloud.points.size(); ++i)
{
cloud.points[i].x = vec[i].x;
cloud.points[i].y = vec[i].y;
cloud.points[i].z = vec[i].z;
}
//保存pcd文件
pcl::io::savePCDFileASCII("20191106_2.pcd", cloud);
fclose(fp);
system("pause");
return 0;
}
版权声明:本文为minhuaQAQ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。