点云文件转换代码

注意:CSV文件格式也不同,本文所述的CSV文件时用基恩士线激光传感器得到的。

具体格式为,这样式的

表格中行表示X轴向的点,列表示Y,而表格中的数值表示Z轴深度。
X与Y的间距是由传感器本身的精度和伺服电机的步长决定,可以设置。

转换代码如下,其中还包含一段显示的

#include <iostream>
#include <fstream>
#include <vector>
#include <sstream> // 用于读写存储在内存中的string对象
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <boost/thread/thread.hpp>
#include <pcl/point_types.h>int main(void)
{// 读取CSV文件std::ifstream inFile("CSV文件.csv", std::ios::in);std::string lineStr;std::string str;pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);pcl::PointXYZ point;//for (int yStep; yStep<20; yStep++)int yStep = 0;while(std::getline(inFile, lineStr) ){std::stringstream ss(lineStr); // string数据流化int xStep = 0;while(std::getline(ss, str, ',')) // 读取行中每一个元素{point.x = 0.1 * xStep;point.z = std::stoi(str);point.y = 0.1 * yStep;cloud->points.push_back(point);xStep++;}yStep++;cout << yStep<<endl;}cloud->width = (int)cloud->points.size();cloud->height = 1;boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D viewer"));viewer->setBackgroundColor(255, 255, 255);pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 255, 0, 0); //设置点云颜色viewer->addPointCloud(cloud, single_color, "cloud");viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "cloud");viewer->addCoordinateSystem(1.0);  // 1.0是坐标系的大小比例viewer->initCameraParameters();  // 初始化相机设置???pcl::io::savePCDFileASCII("输出PCD文件.pcd",*cloud);while (!viewer->wasStopped()){viewer->spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(100000));}system("pause");return 0;
}

PCL点云CSV转PCD文件相关推荐

  1. ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件

    ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件 二进制安装D435的SDK 下载intel Realsense ROS工作空间 ROS下驱动D435i获得点 ...

  2. Ubuntu16.04安装PCL库的python实现python-pcl,并且通过pcl加载pcd文件验证python-pcl是否安装成功

    1. 安装PCL库 使用如下指令安装PCL库. sudo apt install libpcl-dev 如果提示"Unable to locate package libpcl-dev&qu ...

  3. KITTI数据集的点云格式转PCD格式

    参考文章:https://blog.csdn.net/xinguihu/article/details/78922005 KITTI数据集应该不用多做介绍了,基本上做自动驾驶的都知道这个东西.最近本人 ...

  4. PCL点云学习(1)——pcd文件的生成和读取

    MATLAB mat文件转TXT文件 因为本菜鸟之前一直使用MATLAB做点云处理,所以数据都是mat文件,为了使用PCL库,需要先转化为TXT文件,在使用C++PCL将TXT文件转化为PCD文件.. ...

  5. PCL——从PCD文件中读取点云数据

    从PCD文件中读取点云数据 1. 示例代码 1. 示例代码 以下代码均参考PCL官方文档:https://pcl.readthedocs.io/projects/tutorials/en/master ...

  6. PCL——向PCD文件写入点云数据

    向PCD文件写入点云数据 1. 例程代码 1. 例程代码 以下代码均来源于PCL的官方教程,pcd_write.cpp:我使用的是VS2015编译 https://pcl.readthedocs.io ...

  7. 基恩士CSV点云文件转PCD文件 PYTHON版

    简介 将点云文件从矩阵形式存储的csv点云文件(CloudCompare 称为Matrix CSV)文件转换为PCD格式的点云文件 运行环境 Python3 运行需要的库 numpy open3d f ...

  8. PCL—从PCD文件中读取点云数据(一)

    1.从PCD文件中读取点云数据 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_ty ...

  9. pcl加载并显示pcd、ply点云数据文件

    pcl加载显示pcd,代码如下: #include<iostream> #include<pcl/io/pcd_io.h> #include<pcl/point_type ...

最新文章

  1. java连接数据库核心代码
  2. java学习笔记8--接口总结
  3. mongodb安装教程Linux,Ubuntu16.04手动安装MongoDB的详细教程
  4. 判断 小程序_第五届美亚杯赛前必备:从案情资料到小程序解题
  5. unity创建项目报错:解决sentinel key not found (h0007) Unity
  6. php要懂函数吗,九个你需要知道的PHP函数和功能
  7. Python中字符串的startswith()和endswith()方法
  8. 验证码 随机生成器 详解
  9. 常用js或jq效果汇总
  10. 银行按揭借款合同范本
  11. 新买的联想笔记本计算机选项,联想笔记本电脑进入BIOS界面,以选择将硬盘设置为首次启动的选项...
  12. 论文阅读:Negative Lexically Constrained Decoding for Paraphrase Generation
  13. 什么是内网穿透技术?简单实用、永久免费内网穿透工具有哪些?
  14. 超链接一般有两种表现形式_网站内链分为哪几种?内链的七种表现形式
  15. 蓝桥杯 基础练习 分解质因数 C语言
  16. python能做什么效果_一行 Python 能实现什么丧心病狂的功能?
  17. Python的用途介绍
  18. find the longest of the shortest
  19. 找桌面背景(win10的和360的)
  20. C6_函数多文件管理练习

热门文章

  1. Qt下libusb-win32的使用(一)打印设备描述符
  2. javac编译java文件之后 java运行找不到类的处理
  3. 终于看到这么贱的星座分析了
  4. linux桥接设置静态,centos6.10 桥接模式下配置静态ip
  5. hbase hfile java_通过生成HFile导入HBase
  6. 1.C#项目Java化注意事项
  7. Java编程——输入某年某月某日,判断这一天是这一年的第几天?
  8. weblogic-开发模式转变为生产模式生产模式转变为开发模式
  9. tuning-primer.sh 性能调试工具的使用
  10. Node.js与io.js那些事儿