PLY文件存储格式

PLY文件存储格式

文件构成

    每个PLY档都包含档头(header),用以设定网格模型的“元素”与“属性”,以及在档头下方接着一连串的元素“数值资料”。一般而言,网格模型的“元素”就是顶点(vertices)、面(faces),另外还可能包含有边(edges)、深度图样本(samples of range maps)与三角带(triangle strips)等元素。无论是纯文字与二元码的PLY档,档头资讯都是以ASCII编码编写,接续其后的数值资料才有编码(ASCII或Binary)之分。
PLY档案以此行:

ply

开头作为PLY格式的识别。接着第二行是版本资讯,目前有三种写法:

format ascii 1.0
format binary_little_endian 1.0
format binary_big_endian 1.0

其中ascii, binary_little_endian, binary_big_endian是档案储存的编码方式,分别是ASCII格式和binary格式,而1.0是遵循的标准版本(现阶段仅有PLY 1.0版)。
在档头中可使用’comment’作为一行的开头以编写注解,例如:

comment PCL generated

标注着这个PLY文件是由PCL文件生成的。
描述元素及属性,必须使用’element’及’property’的关键字,一般的格式为element下方接着属性列表,例如:

element vertex 3
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue

'property’不仅定义了资料的型态,其出现顺序亦定义了资料的顺序。内定的资料形态有两种写法:一种是char uchar short ushort int uint float double,另外一种是具有位元长度的int8 uint8 int16 uint16 int32 uint32 float32 float64:
在这里插入图片描述
例如,描述一个包含12个顶点的物体,每个顶点使用3个单精度浮点数 (x,y,z)代表点的座标,使用3个unsigned char代表顶点颜色,颜色顺序为 (B, G, R),则档头的写法为:

element vertex 12
property float x
property float y
property float z
property uchar blue
property uchar green
property uchar red

其中vertex是内定的元素类型,接续的6行property描述构成vertex元素的数值字段顺序代表的意义,及其资料形态。
最后,标头必须以此行结尾:

end_header

档头后接着的是元素资料(端点座标、拓朴连结等)。在ASCII格式中各个端点与面的资讯都是以独立的一行描述,而二元编码格式则连续储存这些资料(无空格换行等等),加载时须以’element’定义的元素数目以及’property’中设定的资料形态计算各笔字段的长度。

参考资料

PLY格式介绍
PLY格式文件详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值