文章目录

  • 1 什么是PCD?
  • 2 pcd文件头示例
  • 3 文件头格式说明

1 什么是PCD?

PCD(Point Cloud Date,点云数据) 对应的文件格式为 (*.pcd),是PCL官方指定格式,具有ASCIIbinary两种数据存储类型,pcd格式具有文件头,用于描绘点云的整体信息。

2 pcd文件头示例

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z
SIZE 4 4 4
TYPE F F F
COUNT 1 1 1
WIDTH 278
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 278
DATA binary

3 文件头格式说明

在点云库(PCL)1.0版本发布之前,PCD文件格式有不同的修订号。这些修订号用PCD_Vx来编号(例如,PCD_V5、PCD_V6、PCD_V7等等),代表PCD文件的0.x版本号。然而PCL中PCD文件格式的正式发布是0.7版本(PCD_V7)。

每一个PCD文件包含一个文件头,它确定和声明文件中存储的点云数据的某种特性。PCD文件头必须用ASCII码来编码。PCD文件中指定的每一个文件头字段以及ascii点数据都用一个新行(\n)分开了,从0.7版本开始,PCD文件头包含下面的字段:

  • VERSION ------ 指定PCD文件版本
  • FIELDS ------ 指定一个点可以有的每一个维度和字段的名字,例如:
FIELDS x y z                                   // XYZ data
FIELDS x y z rgb                               // XYZ + colors
FIELDS x y z normal_xnormal_y normal_z         // XYZ + surface normals
FIELDS j1 j2 j3                                // moment invariants
  • SIZE ------ 用字节数指定每一个维度的大小,例如:

unsigned char/char // 1 byte
unsigned short/short // 2 bytes
unsigned int/int/float // 4 bytes
double // 8 bytes

  • TYPE ------ 用一个字符指定每一个维度的类型,现在被接受的类型有:

I – 表示有符号类型 int8(char)、int16(short)和int32(int);

U – 表示无符号类型 uint8(unsigned char)、uint16(unsigned short)和uint32(unsigned int);

F – 表示浮点类型。

  • COUNT ------ 指定每一个维度包含的元素数目。

例如,x这个数据通常有一个元素,但是像VFH这样的特征描述子就有308个。实际上这是在给每一点引入n维直方图描述符的方法,把它们当做单个的连续存储块。默认情况下,如果没有COUNT,所有维度的数目被设置成1。

  • WIDTH ------ 用点的数量表示点云数据集的宽度。

根据是有序点云还是无序点云,WIDTH有两层解释:

1)它能确定无序数据集的点云中点的个数(和下面的POINTS一样);

2)它能确定有序点云数据集的宽度(一行中点的数目)。

注意:有序点云数据集,意味着点云是类似于图像(或者矩阵)的结构,数据分为行和列。这种点云的实例包括立体摄像机和时间飞行摄像机生成的数据。有序数据集的优势在于,预先了解相邻点(和像素点类似)的关系,邻域操作更加高效,这样就加速了计算并降低了PCL中某些算法的成本。

例如:

WIDTH 640 # 每行有640个点

  • HEIGHT ------ 用点的数目表示点云数据集的高度。

类似于WIDTH ,HEIGHT也有两层解释:

1)它表示有序点云数据集的高度(行的总数);

2)对于无序数据集它被设置成1(被用来检查一个数据集是有序还是无序)。

有序点云例子:

WIDTH 640 # 像图像一样的有序结构,有640行和480列,

HEIGHT 480 # 这样该数据集中共有640*480=307200个点

无序点云例子:

WIDTH 307200

HEIGHT 1 # 有307200个点的无序点云数据集

  • VIEWPOINT ------ 指定数据集中点云的获取视点。

VIEWPOINT有可能在不同坐标系之间转换的时候应用,在辅助获取其他特征时也比较有用,例如曲面法线,在判断方向一致性时,需要知道视点的方位,

视点信息被指定为平移(tx, ty, tz)+ 四元数(qw, qx, qy, qz)。默认值是:

VIEWPOINT 0 0 0 1 0 0 0

  • POINTS ------ 指定点云中点的总数。

从0.7版本开始,该字段就有点多余了,因此有可能在将来的版本中将它移除。

例子:

POINTS 307200 #点云中点的总数为307200

  • DATA ------ 指定存储点云数据的数据类型。

从0.7版本开始,支持两种数据类型::ASCII形式和binary形式

注意: 文件头最后一行(DATA)的下一个字节就被看成是点云的数据部分了,它会被解释为点云数据。

警告:PCD文件的文件头部分必须以上面的顺序精确指定,也就是如下顺序:

VERSION、FIELDS、SIZE、TYPE、COUNT、WIDTH、HEIGHT、VIEWPOINT、POINTS、DATA ,之间用换行隔开。

数据存储类型

在0.7版本中,.PCD文件格式用两种模式存储数据

  • ASCII形式,每一点占据一个新行:
# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z
SIZE 4 4 4
TYPE F F F
COUNT 1 1 1
WIDTH 89
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 89
DATA ascii
-21.368 -137.98199 -23
-21.301001 -137.745 -23
-21.257 -137.52699 -23
-21.219999 -137.34801 -23
-21.153 -137.12399 -23
-21.117001 -136.967 -23
-21.066999 -136.71001 -23
-20.999001 -136.47301 -23
-20.954 -136.23599 -23
-20.882 -135.97501 -23...
  • 二进制(binary)形式

这里数据是数组(向量)pcl::PointCloud.points的一份完整拷贝,比ASCII码形式快速,但txt文本打开,点数据为乱码。


相关链接

PCL点云数据处理基础❤️❤️❤️目录

PCL:点云数据(*.pcd)文件格式详解相关推荐

  1. PCD文件格式详解及在PCL下读取PCD文件

    一.PCD简介 1.1 PCD版本 在点云库PCL 1.0发布之前,PCD文件格式就已经发展更新了许多版本.这些新旧不同的版本用PCD_Vx来编号(例如PCD_V5.PCD_V6和PCD_V7等),分 ...

  2. 从软件到数件,AI生态如何建立自己的“Android”?天云数据CEO直播详解,可预约 | 量子位·视点...

    视点 发自 凹非寺 量子位 公众号 QbitAI 技术的市场千变万化. 首先在算法上摩尔定律失效,大规模分布式大规模协同算力开始产生新的变化: 其次,互联网带来数据实时性的需求,爆发第三波数据红利: ...

  3. 嘉云数据电话面试详解

    1.java中arraylist和linkedlist的区别和联系. ArrayList和LinkedList在性能上各 有优缺点,都有各自所适用的地方,总的说来可以描述如下: 1.对ArrayLis ...

  4. 60页PPT|华为云数据中心解决方案详解(附PPT下载)

    资料下载:转发朋友圈截图回复666下载,回复"资料下载"下载所有资料 资料下载:转发朋友圈截图回复666下载,回复"资料下载"下载所有资料 推荐阅读: 世界的真 ...

  5. PCD(点云数据)文件格式

    本节描述PCD(点云数据)文件格式. 为什么用一种新的文件格式? PCD文件格式并非白费力气地做重复工作,现有的文件结构因本身组成的原因不支持由PCL库引进n维点类型机制处理过程中的某些扩展,而PCD ...

  6. 阿里云物联网平台-数据解析脚本详解

    阿里云物联网平台-数据解析脚本详解 var COMMAND_REPORT = 0x00; //属性上报. var COMMAND_SET = 0x01; //属性设置. var COMMAND_REP ...

  7. 激光点云系列之一:详解激光雷达点云数据的处理过程

    交流群 | 进"传感器群/滑板底盘群"请加微信号:xsh041388 交流群 | 进"汽车基础软件群"请加微信号:Faye_chloe 备注信息:群名称 + 真 ...

  8. Python数据科学-技术详解与商业实践视频教程

    Python数据科学-技术详解与商业实践(八大案例) 网盘地址:https://pan.baidu.com/s/13QrR_5Er6LgWCWzSb7qOrQ 提取码:s7vw 备用地址(腾讯微云): ...

  9. S19文件格式详解(总结)以及与hex文件的互转

    S19文件格式详解 ​​ ​​ S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motoro ...

  10. MP4文件格式详解——文件类型ftyp

    原谅地址:http://blog.csdn.net/pirateleo/article/details/7583321 文件类型ftyp(ISO-14496-12) Author:Pirate Leo ...

最新文章

  1. linux centos7 设置 grub2
  2. OpenCV2:幼儿园篇 第四章 访问图像
  3. 控制usb扫码枪_无线也可以很牢靠-世达SATA热熔胶枪评测
  4. MySQL 数据库 like 语句通配符模糊查询小结
  5. SpringCloud OpenFeign服务调用客户端介绍及配置使用
  6. Druid:数据库连接池实现技术,由阿里巴巴提供的
  7. 2054无法登陆mysql_张虹亮'blog » ubuntu20.04安装mysql8之后,php5程序和phpmyadmin出现#2054 无法登录MySQL服务器的解决方案...
  8. 浮点数的加减计算总结
  9. B2C网站运营核心数据分析模型
  10. 【原】对txt文本进行数据读取
  11. 特种作业操作电工作业2021年电力电缆考试题库
  12. vba调用二维码ocx
  13. Multisim14基本介绍(上)
  14. 简单一招就能进行不同平台的推文转移,复制粘贴。
  15. android 飞行模式 源代码,android 定时进入飞行模式 例子
  16. Java筑基24-集合02-List
  17. nginx+uWSGI+django+virtualenv+supervisor发布web服务器流程
  18. 10万存银行,几年能翻一番?
  19. 2022年中国半导体设备市场规模达到1728.41亿元,市场迎来新一轮上升周期
  20. 网页设计参考资料一波

热门文章

  1. mp4视频解码生成图片
  2. 登录邮箱用哪个好,好用的登录邮箱推荐
  3. vue 停止页面滚动_Vue关于滚动停止的监听方法
  4. BZOJ 3812 主旋律 (状压DP+容斥) + NOIP模拟赛 巨神兵(obelisk)(状压DP)
  5. 卫星星座 - 2021 年行业调查和趋势 Satellite Constellations - 2021 Industry Survey and Trends阅读报告
  6. markdown 语法
  7. 普拉提瑜伽工作室行业调研报告 - 市场现状分析与发展前景预测
  8. 架构设计(8)—高可用架构设计
  9. 【BZOJ4198】【NOI2015】荷马史诗(贪心,Huffman树)
  10. 百度地图语音导航开发