pcd,obj,mtl文件格式解析
pcd文件解析
PCD文件格式并非白费力气地做重复工作,现有的文件结构因本身组成的原因不支持由PCL库引进n维点类型机制处理过程中的某些扩展,而PCD文件格式能够很好地补足这一点。PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述任意多边形和激光扫描仪获取的点云。包括下面几种格式:
- PLY是一种多边形文件格式,由Stanford大学的Turk等人设计开发;
- STL是3D Systems公司创建的模型文件格式,主要应用于CAD、CAM领域;
- OBJ是从几何学上定义的文件格式,首先由Wavefront Technologies开发;
- X3D是符合ISO标准的基于XML的文件格式,表示3D计算机图形数据;
- 其他许多种格式。
—-摘自PCL中文官网
格式说明
字段 | 说明 | 备注 |
---|---|---|
VERSION | PCL版本 | |
FIELDS | 指定一个点可以有的每一个维度和字段的名字 | |
FIELDS x y z | 坐标 | |
FIELDS x y z rgb | 坐标+颜色 | |
FIELDS x y z normal_x normal_y normal_z | 坐标+法线 | |
SIZE | 用字节数指定每一个维度的大小 | |
unsigned char/ char | 1字节 | |
unsigned short/ short | 2字节 | |
unsigned int/ int/ float | 4字节 | |
double | 8字节 | |
TYPE | 用一个字符指定每一个维度的类型 | |
I | 有符号char,short,int | |
U | 无符号char,short,int | |
F | 浮点类型 | |
COUNT | 指定每一个维度包含的元素数目。默认情况下,如果没有COUNT,所有维度的数目被设置成1 | |
WIDTH | 用点的数量表示点云数据集的宽度 | |
1.它能确定无序数据集的点云中点的个数 | ||
2.它能确定有序点云数据集的宽度 | ||
HEIGHT | 用点的数目表示点云数据集的高度 | |
1.它表示有序点云数据集的高度 | ||
2.对于无序数据集它被设置成1 | ||
VIEWPOINT | 指定数据集中点云的获取视点 | |
视点信息被指定为平移(txtytz)+四元数(qwqxqyqz)。 | 默认 VIEWPOINT 0 0 0 1 0 0 0 | |
POINTS | 指定点云中点的总数 | |
DATA | 指定存储点云数据的数据类型 | |
ascii和二进制 | ||
具体的数据 |
例子
有序点云例子
- WIDTH 640
- 像图像一样的有序结构,有640行和480列,
- HEIGHT 480
- 这样该数据集中共有640*480=307200个点
无序点云例子
- WIDTH 307200
- HEIGHT 1
- 有307200个点的无序点云数据集
xyzrgb
# .PCD v.7 - Point Cloud Data file format
VERSION .7
FIELDS x y z rgb
SIZE 4 4 4 4
TYPE F F F F
COUNT 1 1 1 1
WIDTH 213
HEIGHT