我们在做高精地图开发或者相关GIS项目开发的的时候,经常会遇到点云这个问题,点云 想到什么 ,当然是PCD文件了。
这里整体过一遍pcd 文件。
概述
PCD文件格式是PCL库中使用最广泛且独有的数据格式,旨在补充现有文件格式,以支持PCL对n-D点云处理的扩展。尽管PCD并非首个支持3D点云数据的格式,但已有多种格式如PLY、STL、OBJ和X3D被计算机图形学和计算几何社区广泛使用。这些格式在传感技术和算法发展前已存在,因此存在一些限制。
PCD版本
在PCL 1.0版本发布前,PCD文件格式可能有不同的修订号,如PCD_V5、PCD_V6、PCD_V7等,它们表示版本号0的PCD文件。PCL中PCD文件格式的正式版本是0.7版本(PCD_V7)。
文件格式头信息
PCD文件包含一个头文件,用于标识和声明点云数据的属性,必须以ASCII编码。从0.7版本开始,PCD头包含以下条目:
- VERSION:指定PCD文件的版本。
- FIELDS:指定点的每个维度/字段名称。
- SIZE:指定每个维度的大小(以字节为单位)。
- TYPE:指定每个维度的类型(有符号或无符号整数、浮点类型)。
- COUNT:指定每个维度的元素数量。
- WIDTH:指定点云数据集的宽度(点数)。
- HEIGHT:指定点云数据集的高度(点数)。
- VIEWPOINT:指定点的获取视点。
- POINTS:指定云中的点数总数。
- DATA:指定存储点云数据的类型(ascii、binary、binary_compressed)。
数据存储格式类型
从0.7版本开始,PCD文件格式支持三种数据存储模式:
- ASCII(文本格式):每个点在新行上,易于阅读和编辑。
- binary:数据是pcl::PointCloud的完整内存副本,提供快速读写。
- binary_compressed:使用LZF算法压缩数据,提高存储效率。
PCD文件格式的优势
PCD文件格式提供了存储和处理有组织点云数据集的能力,这对于实时应用和研究领域至关重要。二进制mmap/munmap数据类型是数据加载和保存到磁盘的最快方式。支持多种数据类型(char、short、int、float、double)使得点云数据在存储和处理方面更加灵活高效。此外,PCD文件格式允许存储特征描述符的n-D直方图,这对于3D感知和计算机视觉应用非常重要。
通过控制文件格式,PCL能够获得最高性能,而不是将不同的文件格式适应PCL作为本机类型,并通过转换函数引起额外的延迟。尽管PCD是PCL的原生文件格式,但pcl_io库也提供了以其他文件格式保存和加载数据的API。