• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

利用matlab点云工具处理点云

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

利用matlab处理点云

本文主要分享利用matlab点云工具的相关模块来处理点云,并通过点云轮廓对点云体积进行简单的估计测量。

目录


1.主要的操作流程图

Created with Raphaël 2.1.0.ply点云文件读入点云数据显示点云数据获取点云轮廓求得点云所占体积结束处理

2、具体流程

2.1 点云的读入和显示

假设有一个名为pointcloud.ply的点云文件。——ply格式简介

pc = pcread(\'path\pointcloud.ply\'); %读入点云文件
pcshow(pc)                      %显示点云

这里需要注意.ply文件中头文件类似这样的格式:

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

其中x,y,x是三维点云的空间坐标,后面的b,g,r代表每个点的颜色,后一项目对于纹理映射和显示很重要,可以分别提取出来,随后用pcshow来显示;

pcread读入的文件后生成

   Location: [850554×3 single]
       Color: [850554×3 uint8]
      Normal: [850554×3 single]
       Count: 850554
     XLimits: [6.5701 15.5542]
     YLimits: [-1.5363 4.2114]
     ZLimits: [-15.7035 0.2691]

我们可以提取出其中的位置和颜色来进行纹理映射并画图

figure(1) 
pc_tmp(:,1) = pc.Location(:,3);     %调整点云的方位的和xyz轴
pc_tmp(:,2) = pc.Location(:,1);
pc_tmp(:,3) = pc.Location(:,2);
pc_col = pc.Color
pcshow(pc_tmp,pc.Color)

这里利用CMVS/PMVS方法生成的点云数据作为例子:



2.2 点云的处理

为了求得这一建筑物的体积,通过获得这一建筑物的轮廓包络来得到其体积。主要利用matlab中的alphaShape函数和volum

alphaShape
此函数主要用于从离散的三维空间点云中提取边缘并建立对应的包络:
shp = alphaShape(x,y,z)

主要控制参数有alpha值,用于控制生产轮廓的精细程度(越小越细腻)
‘RegionThreshold’ 忽略生成包络中的小物体,压制小物体的阈值体积
‘HoleThreshold’ 填充包络中的空洞,生成完整的体积形态
- *alphaShape(x,y,z,alpha,’HoleThreshold ‘,xx,’RegionThreshold’,xx)

需要注意的是需要将点云的位置坐标转换为双精度的类型。

x=pc.Location(:,3);y=pc.Location(:,1);z=pc.Location(:,2);%get point out
x = double(x); y=double(y); z= double(z);
    %获取点云坐标
alp = 5;region = 0.75;%hole = 1; region = 0.75;
shp = alphaShape(x,y,z,alp);
    %生产点云的包络数据
%ref:http://cn.mathworks.com/help/matlab/ref/alphashape.html
plot(shp)
        %显示点云包络
v= volume(shp);
title([\'v= \'num2str(v) ,\'m3\']%计算体积并显示

 

上图为生成的点云包络(需要仔细条件参数以生成符合需求精度的包络),通过volum可计算此包络所占粗略的体积。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
现代法谱估计(2)Levinson-Durbin递推算法MATLAB及Python实现发布时间:2022-07-18
下一篇:
MATLAB-R2018b 安装流程与安装包分享发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap