MATLAB点云处理:1点云的读取、显示和保存
本文作为MATLAB点云学习记录的开篇,介绍MATLAB读取、显示和保存点云的内容点云读取读取非PCD和PLY格式的文件点云显示点云保存点云读取MATLAB能够读取PLY或者PCD格式的文件rabbit = pcread('rabbit.pcd')这里读取了那个著名的兔子点云,获取了一个pointCloud对象,这个pointCloud对象包含的属性有Location 包含了所有的点信息,每个点的
本文作为MATLAB点云学习记录的开篇,介绍MATLAB读取、显示和保存点云的内容
- 点云读取
- 读取非PCD和PLY格式的文件
- 点云显示
- 点云保存
点云读取
MATLAB能够读取PLY或者PCD格式的文件
rabbit = pcread('rabbit.pcd')
这里读取了那个著名的兔子点云,获取了一个pointCloud对象,这个pointCloud对象包含的属性有
Location 包含了所有的点信息,每个点的x y z构成一行
Count 点的总个数
XLimit YLimit ZLimit 分别包含X Y Z坐标的最小值和最大值,也就是范围
Color 点的颜色信息,这个暂时先忽略
Normal 点的法向
Intensity
这里展示一下,我读取的rabbit包含的信息
那么随之而来的一个问题就是,该怎么去使用这样的数据呢,比如点云处理需要用到Location里的xyz坐标信息,其实很简单,可以通过“.”直接访问这些信息
point_xyz = rabbit.Location;
这样现在得到的point_xyz就只包含了rabbit点云的三维坐标
读取非PCD和PLY格式的文件
MATLAB提供的pcread函数只能读取pcd或者ply格式的文件,我们知道各种格式的文件是可以相互转化的,可以提前把其它格式的文件利用Geomagic等点云处理软件进行转换就好了,但是似乎太麻烦,其实有更简单的办法:利用pointCloud函数
rabbit_copy = pointCloud(point_xyz)
刚才我们获得point_xyz只包含点的三维坐标,现在我们可以利用pointCloud将一个N*3的矩阵转换为一个点云,这样我们就可以将点云和矩阵进行相互的转化,是不是很easy
点云显示
视觉是最直观的传达方式,有必要将读取的点云或者处理的结果展示出来,MATLAB利用pcshow显示pointCloud对象
pcshow(rabbit)
这里留个伏笔,点云显示的话,MATLAB还有一个pcshowpair函数,下次再说吧
点云存储
MATLAB提供的点云存储函数为pcwrite
pcwrite(rabbit,'rabbit_copy.pcd')
通过这种方法就将刚才的点云对象,保存到名为‘rabbit_copy.pcd’文件里了
更多推荐
所有评论(0)