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文件。
encodingType 编码类型
文件格式有效编码
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

点云读写:读写pcd点云

点云读写:读写pcd点云

点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)

点云格式转换:txt点云转pcd点云(XYZXYZIXYZRGBXYZIRGBGpstime)

点云格式转换:pcd点云转txt点云 (XYZXYZIXYZRGB)