首页文章PCD文件格式(The PCD (Point Cloud Data) file format)

PCD文件格式(The PCD (Point Cloud Data) file format)

时间2025-04-20 21:10:07发布yu分类文章浏览19
导读:本文档描述PCD(点云数据)文件格式,以及它在点云库(PCL)中的使用方式。 PCD文件格式图标 PCD文...

本文档描述PCD(点云数据)文件格式,以及它在点云库(PCL)中的使用方式。
PCD文件格式图标
PCD文件格式图标
#为什么新的文件格式?
PCD文件格式并不意味着重新发明轮子,而是补充现有文件格式,由于某种原因,这些格式不支持/不支持PCL为nD点云处理带来的一些扩展。
PCD不是支持3D点云数据的第一种文件类型。特别是计算机图形和计算几何社区已经创建了多种格式来描述使用激光扫描仪获取的任意多边形和点云。其中一些格式包括:
PLY - 由Turk等人在斯坦福大学开发的多边形文件格式
STL - 由3D Systems创建的立体光刻CAD软件原生的文件格式
OBJ - 由Wavefront Technologies首先开发的几何定义文件格式
X3D - 用于表示3D计算机图形数据的ISO标准的基于XML的文件格式
所有上述文件格式都有一些缺点,这是很自然的,因为它们是在不同的时间,不同的时间创建的,在今天的传感技术和算法发明之前。
#PCD版本
在发布点云库(PCL)版本1.0之前,PCD文件格式可能具有不同的修订版本号。它们被编号为PCD_Vx(例如,PCD_V5,PCD_V6,PCD_V7等)并且代表PCD文件的版本号0.x。PCL中PCD文件格式的正式版本应该是0.7(PCD_V7)。
1、文件格式
(1)标题
每个PCD文件都包含一个标题,用于标识和声明存储在文件中的点云数据的某些属性。PCD的标题必须用ASCII编码。

 

从版本0.7开始,PCD头部包含以下条目:
VERSION :指定PCD文件版本
FIELDS :指定点可以具有的每个维度/字段的名称。例子:

 

SIZE :以字节为单位指定每个尺寸的大小,例子:

 

TYPE : 将每个维度的类型指定为char。目前接受的类型是:

 

COUNT :指定每个维度有多少个元素。例如,x数据通常具有1个元素,但是像VFH的特征描述符 具有308个。基本上这是一种在每个点处引入nD直方图描述符的方法,并将它们视为单个连续的存储器块。默认情况下,如果COUNT不存在,则所有维度的计数设置为1。例子:

 

WIDTH : 指定点云数据集中点的宽度。WIDTH有两个含义:
1、它可以指定云中点的总数(与POINTS相同,见下文),用于无组织的数据集;
2、它可以指定有组织的点云数据集的宽度(连续点的总数)。
另外,一个有组织的点云数据集是赋予点云类似于一个有组织的图像(或矩阵)状的结构,其中,数据被划分为行和列的名称。这种点云的例子包括来自立体相机或飞行时间相机的数据。有组织的数据集的优点在于,通过了解相邻点(例如像素)之间的关系,最近邻的操作效率更高,从而加快了计算速度,降低了PCL中某些算法的成本。

 

HEIGHT :指定点云数据集中点的高度。高度有两个含义:
1、它可以指定有组织的点云数据集的高度(总行数)
2、对于未组织的数据集它被设置为1(因此用于检查数据集是否被组织)。例子:

 

VIEWPOINT :指定数据集中的点采集的视点。这可能稍后可能用于在不同坐标系之间建立变换,或用于辅助诸如曲面法线之类的需要一致定向的特征。
视点信息被指定为平移(tx ty tz)+四元数(qw qx qy qz)。默认值是:

 

POINTS : 指定云中的总点数。从版本0.7开始,它的目的有点多余,所以我们期待在将来的版本中将其删除。例子:

 

DATA : 指定点云数据存储的数据类型。从版本0.7开始,支持两种数据类型:ascii和binary。例子:

 

警告
标题条目必须按上述顺序精确指定,即:

 

(2)数据存储类型
从0.7版开始,.PCD文件格式使用两种不同的模式来存储数据:
1)以ASCII形式,每个点放在一个新行上:

 

2)以二进制形式,其中数据是pcl::PointCloud.points数组/矢量的完整存储器副本 。在Linux系统上,我们使用mmap/munmap操作对数据进行最快的读/写访问。
将点云数据以简单的ASCII形式存储,每一个点在一行,空格或制表符上,而不用任何其他字符,也可以二进制转储格式存储,这使得我们能够获得两全其美:简单性和速度取决于底层应用程序。ascii格式允许用户打开点云文件并使用标准软件工具(如gnuplot)绘制它们 或使用像sed、awk等工具来操作它们。
(3)优于其他文件格式
PCD作为(另一种)文件格式可以被看作PCL患有 not invented here 综合征。事实上,情况并非如此,因为上述文件格式都不能提供PCD文件的灵活性和速度。一些清楚说明的优点包括:
1)存储和处理有组织的点云数据集的能力 - 这对于实时应用和增强现实,机器人等研究领域极为重要;
2)二进制mmap / munmap数据类型是加载数据并将其保存到磁盘的最快方式。
3)存储不同的数据类型(all primitives supported: char, short, int, float, double)允许点云数据在存储和处理方面灵活高效。无效的点尺寸通常以NAN类型存储。
4)用于特征描述符的nD直方图 - 对3D感知/计算机视觉应用非常重要
另外一个好处是,通过控制文件格式,我们可以最好地适应PCL,从而获得与PCL应用程序相比最高的性能,而不是像本机类型那样将不同的文件格式适配到PCL,并通过转换引起额外的延迟功能。
注意
尽管PCD(点云数据)是PCL中的本地文件格式,但是 库也应该提供以所有其他上述文件格式保存和加载数据的可能性。
例:
下面附上一个PCD文件的片段。读者可以解读数据,看看它是什么意思。:) 玩的开心!:

吐鲁番版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
文件格式
江门掌握这六个技巧,让新站更快被收录 经典老游戏排行榜 2024经典的怀旧手游推荐