PCL点云CSV转PCD文件
点云文件转换代码
注意: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文件相关推荐
- ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件
ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件 二进制安装D435的SDK 下载intel Realsense ROS工作空间 ROS下驱动D435i获得点 ...
- 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 ...
- KITTI数据集的点云格式转PCD格式
参考文章:https://blog.csdn.net/xinguihu/article/details/78922005 KITTI数据集应该不用多做介绍了,基本上做自动驾驶的都知道这个东西.最近本人 ...
- PCL点云学习(1)——pcd文件的生成和读取
MATLAB mat文件转TXT文件 因为本菜鸟之前一直使用MATLAB做点云处理,所以数据都是mat文件,为了使用PCL库,需要先转化为TXT文件,在使用C++PCL将TXT文件转化为PCD文件.. ...
- PCL——从PCD文件中读取点云数据
从PCD文件中读取点云数据 1. 示例代码 1. 示例代码 以下代码均参考PCL官方文档:https://pcl.readthedocs.io/projects/tutorials/en/master ...
- PCL——向PCD文件写入点云数据
向PCD文件写入点云数据 1. 例程代码 1. 例程代码 以下代码均来源于PCL的官方教程,pcd_write.cpp:我使用的是VS2015编译 https://pcl.readthedocs.io ...
- 基恩士CSV点云文件转PCD文件 PYTHON版
简介 将点云文件从矩阵形式存储的csv点云文件(CloudCompare 称为Matrix CSV)文件转换为PCD格式的点云文件 运行环境 Python3 运行需要的库 numpy open3d f ...
- PCL—从PCD文件中读取点云数据(一)
1.从PCD文件中读取点云数据 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_ty ...
- pcl加载并显示pcd、ply点云数据文件
pcl加载显示pcd,代码如下: #include<iostream> #include<pcl/io/pcd_io.h> #include<pcl/point_type ...
最新文章
- java连接数据库核心代码
- java学习笔记8--接口总结
- mongodb安装教程Linux,Ubuntu16.04手动安装MongoDB的详细教程
- 判断 小程序_第五届美亚杯赛前必备:从案情资料到小程序解题
- unity创建项目报错:解决sentinel key not found (h0007) Unity
- php要懂函数吗,九个你需要知道的PHP函数和功能
- Python中字符串的startswith()和endswith()方法
- 验证码 随机生成器 详解
- 常用js或jq效果汇总
- 银行按揭借款合同范本
- 新买的联想笔记本计算机选项,联想笔记本电脑进入BIOS界面,以选择将硬盘设置为首次启动的选项...
- 论文阅读:Negative Lexically Constrained Decoding for Paraphrase Generation
- 什么是内网穿透技术?简单实用、永久免费内网穿透工具有哪些?
- 超链接一般有两种表现形式_网站内链分为哪几种?内链的七种表现形式
- 蓝桥杯 基础练习 分解质因数 C语言
- python能做什么效果_一行 Python 能实现什么丧心病狂的功能?
- Python的用途介绍
- find the longest of the shortest
- 找桌面背景(win10的和360的)
- C6_函数多文件管理练习
热门文章
- Qt下libusb-win32的使用(一)打印设备描述符
- javac编译java文件之后 java运行找不到类的处理
- 终于看到这么贱的星座分析了
- linux桥接设置静态,centos6.10 桥接模式下配置静态ip
- hbase hfile java_通过生成HFile导入HBase
- 1.C#项目Java化注意事项
- Java编程——输入某年某月某日,判断这一天是这一年的第几天?
- weblogic-开发模式转变为生产模式生产模式转变为开发模式
- tuning-primer.sh 性能调试工具的使用
- Node.js与io.js那些事儿