点云系列之点云数据格式的认识

点云系列之点云数据格式的认识

文章目录

  • 点云系列之点云数据格式的认识
  • 一、常见的点云数据格式
  • 二、格式的具体介绍
    • 2.1 off格式
    • 2.2PLY格式
      • 2.1.1header的特别说明
      • 2.1.2 带有额外属性的PLY
    • 2.3 PTS格式
    • 2.4 PTX格式
    • 2.5 XYZ 格式
    • 2.6 LAS/LAZ格式
  • 三 总结


一、常见的点云数据格式

参考链接
OFF - Object File Format
PLY - Polygon File Format also known as the Stanford Triangle Format
PTS - Laser scan data format
PTX - ASCII based interchange format for point cloud data
XYZ - Based on Cartesian coordinates
LAS/LAZ - The most common format for exchanging points clouds
中文翻译如下(百度翻译得,如不规范,请指正)
OFF-对象文件格式
PLY-多边形文件格式,也称为斯坦福三角格式
PTS-激光扫描数据格式
PTX-基于ASCII的点云数据交换格式
XYZ-基于笛卡尔坐标
LAS/LAZ-交换点云的最常用格式
参考来源:https://www.cnblogs.com/crayonsea/p/12819823.html
https://blog.csdn.net/u010451780/article/details/108071629

二、格式的具体介绍

2.1 off格式

off文件格式,主要使用多边形面元来表示一个物体的模型,常见的面元有三角形、四边形等等。下图为飞机的off文件格式的可视化。
点云系列之点云数据格式的认识_第1张图片
off文件格式如下:
OFF 文件都是以关键字 OFF 开头的 ASCII 文件。
下一行表示顶点数、面数和边数。可以安全地忽略边的数量。
顶点以 x、y、z 坐标列出,每行写一个。
在顶点列表之后,将列出面,每行一个面。对于每个面,指定顶点数,后跟顶点列表中的索引(索引从0开始)。
对应的飞机模型的off文件内容如下图所示:

点云系列之点云数据格式的认识_第2张图片
点云系列之点云数据格式的认识_第3张图片

如果以上两图还不能理解,接下来给出官方的简单示例,可以自行对照,其中官方的例子是由四个点组成的四边形面元
点云系列之点云数据格式的认识_第4张图片

2.2PLY格式

典型的 PLY 包括:(x,y,z)点、面元等基本元素,这与off文件是相似的,但与众不同的是PLY文件比off文件多了描述基本元素的“属性”,如颜色和法线方向等。
典型 PLY 文件的结构:
PLY文件结构
中文翻译如下:
抬头
顶点列表
面元列表
(其他元素列表)

只含点和面元的典型PLY文件格式,如下图所示:
点云系列之点云数据格式的认识_第5张图片

2.1.1header的特别说明

header包括:关键字“format”和 ASCII 或二进制格式的规范,后跟版本号。接下来是多边形文件中每个元素的说明,每一个元素应遵循如下规范:
在这里插入图片描述
对于property需要了解两点:(1)可以采用官方规范属性和用户自定义属性(2)读取ply文件的程序中,如遇到“不认识”的属性时,可以丢弃。

2.1.2 带有额外属性的PLY

我们给出描述元素属性的PLY事例,发现此属性为颜色
点云系列之点云数据格式的认识_第6张图片

2.3 PTS格式

pts文件是一个简单的文本文件,用于存储通常来自激光雷达扫描仪的点数据。

第一行记录点数。随后的每一行有 7 个值,前三个是点的 (x,y,z) 坐标,第四个是“强度”值,后三个是 (r,g,b) 颜色估计值。(r,g,b) 值的范围为 0 到 255(单个无符号字节)。强度值是该点表面反射的入射辐射比例的估计值,0表示非常差的返回,而255表示非常严重的返回。
点云系列之点云数据格式的认识_第7张图片

2.4 PTX格式

(暂时直接粘贴,博主访问不了链接)
PTX 文件格式参考文档 https://sites.google.com/site/matterformscanner/learning-references/ptx-format

number of rows 
number of columns 
st1 st2 st3 ; scanner registered position 
sx1 sx2 sx3 ; scanner registered axis 'X' 
sy1 sy2 sy3 ; scanner registered axis 'Y' 
sz1 sz2 sz3 ; scanner registered axis 'Z' 
r11 r12 r13 0 ; transformation matrix 
r21 r22 r23 0 ; this is a simple rotation and translation 4x4 matrix 
r31 r32 r33 0 ; just apply to each point to get the transformed coordinate 
tr1 tr2 tr3 1 ; use double-precision variables 

翻译

行数
列数
第一阶段第二阶段第三阶段;扫描仪登记位置
sx1 sx2 sx3;扫描仪注册轴“X”
sy1 sy2 sy3;扫描仪注册轴“Y”
sz1、sz2、sz3;扫描仪注册轴“Z”
r11 r12 r13 0;变换矩阵
r21 r22 r23 0;这是一个简单的旋转和平移4x4矩阵
r31 r32 r33 0;只需应用于每个点即可获得变换后的坐标
tr1 tr2 tr3 1;使用双精度变量

PTX 文件中单个点的信息与 PTS 文件相同,相比之下,强度值 做了归一化处理。

PTX 是一种点云数据的交换格式,使用 ASCII 编码。它使用单独扫描的概念,将每个扫描点都定义在自己的坐标系中,然后将所有这些点"注册"到单个坐标系中。每个点的数据存储在它的原始坐标系中,点云的转换矩阵作为文件的标头信息提供。

2.5 XYZ 格式

XYZ 文件格式,是一种非标准化的文件格式。它基于笛卡尔坐标 (x, y, z),以 ASCII 文本行形式传递数据。

虽然使用 XYZ 文件的程序之间具有广泛的兼容性,但是由于缺乏标准化的单元和规范,除非提供额外的信息,否则使用这种数据格式存在根本性的缺陷。

XYZ 的一种格式实例:XYZ format - MIT

X1,Y1,Z1,value
X2,Y2,Z2,value
X3,Y3,Z3,value
etc.

2.6 LAS/LAZ格式

LAS/LAZ 参考文档 https://www.usna.edu/Users/oceano/pguth/md_help/html/las_format.htm以下图片来自网络,但找不到出处了。

LAS 格式旨在作为激光扫描仪点云数据的交换格式。它由美国摄影测量和遥感学会(ASPRS)维护。LAZ 文件格式则是 LAS 的无损压缩版本,为了提高效率。LAS 文件格式是二进制的。LAS 是遥感行业使用最广泛的点云数据文件格式。由 ASPRS 维护的官方网站在这里。目前 ASPRS LAS 规范的维护转移到了GitHub。
LAS 文件分为 3 个主要部分:
一个符合LAS标准的LIDAR文件分为三个部分:公用文件头块(PUBLICHEADERBLOCK)、变量长度记(VARIABLELENGTHRECORDS)和点数据记录(POINTDATARECORD)
公用文件头块
标题包含有关数据的信息,例如其版本、点格式(告诉为每个点存储的不同维度)。
点云系列之点云数据格式的认识_第8张图片

VLR
在标头之后,LAS 文件可能包含 VLR(可变长度记录)。VLR 用于存储附加信息,例如 SRS(空间参考系统)、添加到点的额外维度的描述。
点云系列之点云数据格式的认识_第9张图片

点记录
点集记录部分保存了大量的L IDAR脚点信息,LAS支持的LIDAR点记录格式有100种,从Format0-Format99。在同一个LAS文件中,只有一种L IDAR点格式。而且要与公共头中的点格式一致。
点云系列之点云数据格式的认识_第10张图片

三 总结

目前点云存储格式可分为两类:一类是传统的图形视觉文件如off和PLY格式等,不是纯正的点云文件而是所含信息中包括点。另一类是标准的点云格式文件,如LAS等。

你可能感兴趣的:(计算机视觉)