将raw文件等转换成pcd文件

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 03:53   22   0
#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;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP