MATLAB点云处理:读写PCD | PLY点云
Posted 借我十斤肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB点云处理:读写PCD | PLY点云相关的知识,希望对你有一定的参考价值。
1 pcread()函数
1.1 功能
读入PLY或者PCD格式的三维点云
1.2 语法
ptCloud = pcread(filename)
描述:
从输入文件名指定的PLY或PCD文件中读取点云,函数返回一个pointCloud类型的对象ptCloud。
pointCloud用于存储点云的对象,作为包含以下PLY或PCD字段的点云对象返回:
- 位置属性,存储x、y和z值。
- 颜色属性,存储红色、绿色和蓝色值。
- 法线特性,存储每个点的法线向量。
- 强度属性,存储每个点的灰度强度。
1.3 示例
代码:
ptCloud = pcread('bunny.pcd');
pcshow(ptCloud);
显示结果:
2 pcwrite()函数
2.1 功能
保存PLY或者PCD格式的三维点云
2.2 语法
pcwrite(ptCloud,filename)
pcwrite(ptCloud,filename,'Encoding',encodingType)
描述:
pcwrite(ptCloud,filename)
将点云对象ptCloud写入由输入文件名filename指定的PLY或PCD文件。pcwrite(ptCloud,filename,'Encoding',encodingType)
将点云对象ptCloud写入指定格式的PLY文件。
文件格式 | 有效编码 |
---|---|
PLY | ‘ascii’ ,‘binary’ |
PCD | ‘ascii’ ,‘binary’,‘compressed’ |
三种编码类型的数据大小: a s c i i > b i n a r y > c o m p r e s s e d ascii>binary>compressed ascii>binary>compressed
2.3 示例
代码:
ptCloud = pcread('bunny.pcd');
pcshow(ptCloud);
pcwrite(ptCloud,'bunnyOut.pcd'); %保存为PCD格式的点云,默认ASCII码形式
pcwrite(ptCloud,'bunnyOut.ply'); %保存为PLY格式的点云,默认ASCII码形式
pcwrite(ptCloud,'bunnyOutDefault'); %如果不指定保存文件名的扩展名,将默认保存为PLY格式
pcwrite(ptCloud,'bunnyOutBinary.pcd','Encoding','binary'); %保存为binary形式的PCD点云
pcwrite(ptCloud,'bunnyOutASCII.pcd','Encoding','ascii'); %保存为ASCII码形式的PCD点云
pcwrite(ptCloud,'bunnyOutCompressed.pcd','Encoding','compressed'); %保存为压缩形式的PCD点云
pcwrite(ptCloud,'bunnyOutBinary.ply','Encoding','binary'); %保存为binary形式的PLY点云
pcwrite(ptCloud,'bunnyOutASCII.ply','Encoding','ascii'); %保存为ASCII码形式的PLY点云
输出结果:
以上是关于MATLAB点云处理:读写PCD | PLY点云的主要内容,如果未能解决你的问题,请参考以下文章
点云配准 8-pcd与ply文件转换以及数据保存格式:ascll 和二进制转换,txt->pcd
点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)