PCL点云库学习笔记(输入输出)

输入输出(I\O)

一、概述

IO库包含用于读写点云数据(PCD)文件的类和函数,以及从各种传感设备捕获点云。

二、PCD 点云格式

1.为什么用一种新的文件格式?
PCD文件格式的出现,是因为现有的文件结构不支持由PCL库引进n维点类型机制处理过程中的某些扩展。PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述任意多边形和激光扫描仪获取的点云。
2.文件头
每个PCD文件都包含一个头,用于标识和声明文件中存储的点云数据的某些属性。PCD的头必须用ASCII编码。

·VERSION –指定PCD文件版本
·FIELDS –指定一个点可以有的每一个维度和字段的名字。

FIELDS x y z                                # XYZ data
FIELDS x y z rgb                            # XYZ + colors
FIELDS x y z normal_x normal_y normal_z     # XYZ + surface normals
FIELDS j1 j2 j3                             # moment invariants

·SIZE –用字节数指定每一个维度的大小。

unsigned char/char has 1 byte
unsigned short/short has 2 bytes
unsigned int/int/float has 4 bytes
double has 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 640       # 每行有640个点

·HEIGHT –用点的数目表示点云数据集的高度。

它表示有序点云数据集的高度(行的总数);对于无序数据集它被设置成1(被用来检查一个数据集是有序还是无序)。
有序点云例子:
WIDTH 640       # 像图像一样的有序结构,有640行和480列,
HEIGHT 480      # 这样该数据集中共有640*480=307200个点
无序点云例子:
WIDTH 307200
HEIGHT 1        # 有307200个点的无序点云数据集

·VIEWPOINT–指定数据集中点云的获取视点。

VIEWPOINT有可能在不同坐标系之间转换的时候应用,在辅助获取其他特征时也比较有用,例如曲面法线,在判断方向一致性时,需要知道视点的方位,
视点信息被指定为平移(tx ty tz)+四元数(qw qx qy q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值