1.LAS点云格式

从本质上来说,LAS格式是一种二进制文件格式。其目的是提供一种开放的格式标准,允许不同的硬件和软件提供商输出可互操作的统一格式。现在LAS格式文件已成为LiDAR数据的工业标准格式

LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。LAS格式定义中用到的数据类型遵循1999年ANSI(AmericanNationalStandardsInstitute,美国国家标准化协会)C语言标准。

一个符合LAS标准的LIDAR文件分为三个部分:公用文件头块(PUBLICHEADERBLOCK)、变量长度记(VARIABLELENGTHRECORDS)和点数据记录(POINTDATARECORD)。

C--class(所属类)
F一flight(航线号)
T一time(GPS时间)
I一intensity(回波强度)
R一return(第几次回波)
N一number of return(回波次数)
A一scan angle(扫描角)
RGB一red green blue(RGB颜色值)

滤波:移除对生成数字高程模型(DEM)无用的数据点,包括错误点和地物点。

滤波原理:基于高程的突变,即当临近的两个激光点间高程变化较大时,一般认为不是由地形的陡然起伏所造成的,更为可能的是由于地面存在地物而引起的,高程较大的点很可能不是地面点。若两点间的距离越近,高差越大,较高的点更有可能为地物点,故判断某点是否地面点时,要考虑该点到参考地面点的距离,随着两点间距离的增加,其高差也会变大。

2.pcd点云格式

PCD全称Point Cloud Data,是一种存储点云数据的文件格式。发明PCD文件格式不是重造轮子,因为现有的“轮子”都无法满足PCL的数据处理需求。PCD格式出现之前表示激光扫描仪获取的点云、任意多边形等的文件格式比如:

PLY:表示多边形文件格式。
STL:CAD文件格式,用3d max或CAD软件处理。
OBJ:一种几何学文件格式。
X3D:ISO标准的基于XML格式的计算机3D图像文件格式。

PCD版本

PCD格式有多个版本,如PCD_V5、PCD_V6等,分别表示PCD格式的0.5、0.6版本。PCL使用PCD_V7版本。

PCD文件格式头

PCD文件必须用ASCII字符编码。文件格式头(file format header)说明文件中存储的点云数据的格式。每个格式声明及点云数据之间用\n字符隔开。PCD_V7版本的格式头包含如下信息:

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7 //PCD文件版本
FIELDS x y z r g b intensity timestamp //每个点包含哪些维度,xyz表示XYZ三维坐标,rgb表示颜色(可以分开表示,也可以一个浮点数表示),intensity表示激光反射强度,timestamp表示时间戳,normal_x、normal_y、normal_z表示平面法线三维坐标,j1、j2、j3表示不变矩。
SIZE 4 4 4 1 1 1 1 8 //每个维度的数据占用字节大小
TYPE F F F U U U U F //每个维度的数据类型,I表示有符号类型int8(char)、int16(short)、int32(int),U表示无符号类型uint8(unsigned char)、uint16(unsigned short)、uint32(unsigned int),F表示浮点型
COUNT 1 1 1 1 1 1 1 1 //每个维度含有多少个元素(如果未提供COUNT属性,默认值为1)
WIDTH 32 //用点的数量表示点云数据集的宽度。有两种含义:1.无序数据集的点云中点的数量 2.有序点云数据集的宽度(一行中点的数量),有序点云数据集中,点云类似图片或矩阵的结构,分为行和列,这种数据通常来自于立体摄像机(stereo camera)、时间飞行摄像机(Time Of Flight camera,使用红外线或者光脉冲来估计光线从发射到检测到的时间延迟来测量距离),知道点的相邻关系,使算法计算更高效。
HEIGHT 2172 //用点云数据集中点的数量表示点云数据集的高度。高度有如下两种含义:1.有序的点云数据集中,行的数量 2.无序点云数据集中,高度为1(可以用来判断一个数据集是有序的还是无序的)
VIEWPOINT 0 0 0 1 0 0 0 //指定数据集合中点的采集视点。可以用来后续可能的坐标转换,或者求平面法线坐标。格式是平移(tx ty tz) + 四元数(qw qx qy qz),默认是0 0 0 1 0 0 0。
POINTS 69504 //点云中点的总数(冗余字段)
DATA binary_compressed //点云数据的存储类型,0.7版本支持两种存储方式:ascii和binary。

数据存储类型

ASCII格式:每行一个点的数据,比如x y z rgb格式的数据

binary格式:数据是pcl::PointCloud::points数组或者vector的完整内存复制。Linux系统中,使用mmap/munmap操作使得数据读/写尽可能快。

无论是ascii格式还是binary格式,使用PCL库处理都能做到既简洁又快速。使用ascii模式存储可以使用gnuplot图形编辑点云或者直接使用sed、awk操作点云。

使用如下程序展示点云数据:

#include <iostream>
#include <string>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;int main (int argc, char** argv){
typedef pcl::PointXYZRGB PointT;
pcl::PointCloud<PointT>::Ptr cloud (new pcl::PointCloud<PointT>);std::string dir = "D:\\PCL\\show_sample\\";
std::string filename = "sample.pcd";if (pcl::io::loadPCDFile<PointT> ((dir+filename), *cloud) == -1){
//* load the file
PCL_ERROR ("Couldn't read PCD file \n");
return (-1);
}
printf("Loaded %d data points from PCD\n",
cloud->width * cloud->height);pcl::visualization::PCLVisualizer viewer("Cloud viewer");
viewer.setCameraPosition(0,0,-3.0,0,-1,0);
viewer.addCoordinateSystem(0.3);viewer.addPointCloud(cloud);
while(!viewer.wasStopped())
viewer.spinOnce(100);
return (0);
} 

本文转自:http://www.cnblogs.com/chenbokai/p/6010143.html

http://blog.csdn.net/a464057216/article/details/54864591

点云格式解读LAS/PCD相关推荐

  1. 点云格式解读 PCD

    link PCD版本 PCD格式有多个版本,如PCD_V5.PCD_V6等,分别表示PCD格式的0.5.0.6版本.PCL使用PCD_V7版本. PCD文件格式头 PCD文件必须用ASCII字符编码. ...

  2. ply las pcd等一些常见的基本点云文件格式的读写方法

    ply las pcd等一些常见的基本点云文件格式的读写方法 一.文本(txt) 1.1.存储结构 使用文本格式存储的点云数据文件结构比较简单,每个点是一行记录,点的信息存储格式为 x y z或者 x ...

  3. 『Open3D』安装与点云格式通识

    Open3D安装测试 Open3D(以下简称o3d)同时支持Python和C++接口,本部分为Python篇:C++部分将在后续更新.o3d的python接口放弃了大部分重型C++中的框架包括Boos ...

  4. 速腾聚创RS-LiDAR激光雷达点云格式转换

    目录 一.速腾原格式 1.1点云.bag转.pcd 1.2查看pcd文件内容及数据格式 1.2.1 pcl_viewer查看 1.2.2 VS Code查看 二.velodyne格式转pcd 2.1 ...

  5. 点云格式介绍(更新中,待补充)

    常见点云存储方式有pcd.ply.txt.bin文件. 一.点云的基本组成 点云组成可以是以下几种形式数据的排列组合. (1)x.y.z:点云的空间坐标. (2)i:强度值,强度反应了点的密集成度. ...

  6. 如何将rvt(BIM)转换为点云格式

    1.为什么将BIM转换为点云格式? 如何使设计BIM与真实场景进行配准,分析在建.未建.已建构建的情况,真实场景是通过点云生产的,和点云配准需要相同的格式. 2.如何转换? 实用工具revit,转换过 ...

  7. PCL学习记录-Extra-1 pcl::PCLPointCloud2::Ptr和pcl::PointCloud<pcl::PointXYZ> 点云格式区别及相互转化

    转载至:https://www.cnblogs.com/li-yao7758258/p/6659451.html 一. 关于pcl::PCLPointCloud2::Ptr和pcl::PointClo ...

  8. Kitti点云文件bin转pcd

    前言 代码是网上找的(基于ubuntu的),我改成了windows可用的,更改输入输出目录后,可直接用在kitti的点云文件上,将bin格式转成pcd格式. 需要用到pcl库. 运行环境 window ...

  9. 【点云格式互转】ply转bin、任意点云格式转ply

    3D点云存储方式的种类较多,包括pcd.ply.txt.bin.obj等格式,各种点云格式的详细介绍请参考之前的博客:点云格式介绍(更新中,待补充)_Coding的叶子的博客-CSDN博客_txt点云 ...

最新文章

  1. Android 之 Fagment 完全解析
  2. python【力扣LeetCode算法题库】912- 排序数组
  3. python 缺失值处理(Imputation)
  4. 淘淘商城 @Autowired 装配失败
  5. 电脑管家离线安装包_二号线、南延线TVM病毒客户端离线处理方法
  6. PP视频怎么设置退出程序时清空本地播放记录
  7. CentOS7如何安装vsftpd
  8. 卷王李富贵算法每日一题--分治算法(四)--循环比赛
  9. 【Java】indexOf 方法区分大小写
  10. group() 数组java_java 根据每个分组个数,分解数组. | 学步园
  11. ubuntu网络正常连接但无法上网
  12. WINDOWS网络编程接口
  13. PHP搞笑文字表情包在线制作网站源码
  14. index和match函数
  15. 【简记】Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs in
  16. 电影院里电影票和座位号的关系
  17. 利用递推公式的特征方程求解通项公式
  18. 巨噬细胞膜包裹载HCPT-PLGA纳米粒(HCPT-MCNP)|生物膜包载去氧氟尿苷
  19. 奇虎360前端面试题
  20. Python一些技巧

热门文章

  1. (ps2019)Photoshop 2019 最新破解版下载
  2. 【在JS中如何获取图片路径以及更改图片】
  3. QSPI和SPI是什么关系,区别是什么?
  4. 终于,狂神说SSM及SpringBoot系列文章完更!!!
  5. IDEA如何创建web项目
  6. Python学习笔记:逢7说“过“
  7. 【Telerik和Kendo UI组件】上海道宁与progress为您提供Web、移动和桌面构建功能更丰富的现代体验
  8. CCIE自学-by闫辉NP视频:组播小结
  9. 计算机视觉用于图像识别的难点在哪?
  10. ubuntu下解决zip解压缩后乱码