当前位置:   article > 正文

2021-7-19-点云、点云密度、在matlab中的显示与保存

点云密度

文章的内容

这个文章主要包含对点云的解释,什么是点云密度?以及点云在matlab2019b中如何加载、显示和保存、计算点云密度。


什么是点云

1 什么是逆向工程?

逆向工程,又称为逆向技术,是产品设计技术再现过程,即对目标产物进行逆向分析及研究,得出目标产物的组织结构、功能特性及技术规格等。逆向工程的主要目的是目标成品进行分析,逆向推导产品设计、制作流程。

2 什么是点云?

点云(Point Cloud),在逆向工程中由测量仪器获取物体表面的点的集合。

每个点云的属性主要包含:三维坐标(xyz)、强度信息(intensity)、颜色(RGB)等信息。

点云的格式包含:las、txt、pcd、ply、pts、xyz等多种格式。

3 点云数据的特点

①数据量大:采样频率高,可以在几秒内获取成千上万的点。

②数据分布不均匀:数据点密度随着离扫描仪器的距离增加而下降,且分布离散。

4 如何获取点云?

激光雷达(Light Detection and Ranging,LiDAR),全称激光探测与测距系统,是主动遥感的一种,由传感器向外发射激光,得到传感器与目标物体之间的传播距离,可分析目标地物表面的反射能量大小与反射波普幅度、频率、相位等信息,对目标定位信息进行精确解算,从而得到目标地物的三维结构信息。常见的商用仪器包含:莱卡(Leica)、瑞格(RIEGL)等。———————《激光雷达森林生态应用——理论、方法及实例》

5 可以在什么软件上加载点云?

免费软件:

CloudCompare,又称为CC,下载地址:CloudCompare - Downloads

点云魔方(PCM),微信公众号:PCM与点云处理,可以下载。

可以实现点云加载、显示、保存、栅格化、以及林业、电力线相关方面的技术实现。

商业软件:

Lidar360,Global Mapper等。

6 点云可以用来干什么?

①可以在农林业上做参数提取、生态分析、建模等。

②在建筑建模、片面分割与分析。

③文物、古建筑的建模、修复与保存。

④数字高程模型的建立与地形分析。

⑤公路与道路的测量与扩建。

⑥电力线的巡检。


点云密度

1 什么是点云密度?

点云密度(Point Cloud Density),是点云的重要属性特征,反应激光点云的空间分布及密集程度,即可以直接反应目标地物的空间分布特点。和遥感影像一样,更多的点(密度高)意味着更高的分辨率,具有更多的信息,较少的点(密度低)意味着信息较少,将会影响信息的提取与处理。

2 点云密度有什么用?

点云密度越大,越可以反应设备的先进性,可以保留更多的地物细节,可以更精确的描述地物的空间特征,这对于地物信息提取、分析具有较大的优势。较少的密度则相反,提取的地物信息可能受损。除此之外,密度过大也意味着数据量很大,也在一定程度上会造成数据冗余,信息冗余,造成数据处理困难等麻烦。

3 计算点云密度

GB/T 36100—2018 机载激光雷达点云数据质量评价指标及计算方法-规范中解读,点云密度为单位面积所具有点的数量,其计算方式如下:

                                                             

 其中ρ 表示点云密度,单位:个/m2;

n为点云总个数;

为第i个水域内点云的个数,单位:个;

A为样地面积,单位:m2;

m为水域个数,单位:个;

为第i个水域面积,单位:m2。

在已知的文献中表明,当点云的密度>3个/平方米,称为高密度,反之则为低密度,<3个/平方米,又称为稀疏型点云数据。————魏金龙,李明阳,赵邑晨,李超,李盈昌.基于稀疏型机载激光雷达数据的风景林参数估测[J].西北林学院学报,2021,36(02):164-171.


点云数据在matlab中的加载、显示、保存

matlab自身携带的function库可以打开pcd、ply、txt、csv格式。

1 加载点云与显示点云

  1. clear all
  2. clc
  3. % 清除所有变量
  4. % 清除命令栏所有信息
  5. %% pcd与ply格式数据加载
  6. % 使用函数pcread,这个函数需要matlab较高的版本才有
  7. % 同样可以加载pcd格式
  8. ptCloud = pcread('teapot.ply');
  9. % 加载出来为matlab的pointCloud格式(结构体struct)
  10. % pcshow可以直接显示
  11. pcshow(ptCloud)
  12. % pcshow还有很多显示的用法,可以不断的尝试
  13. % 可以通过.的形式获取到pointCloud的数据
  14. xyz = ptCloud.Location;
  15. % 此时的xyz为n*3格式的数组
  16. % 同样可以采用pcshow显示
  17. pcshow(xyz)
  18. %% txt与csv格式的加载
  19. % txt格式的加载则采用importdata
  20. % 数据的格式可能是n*m,直接使用pcshow会报错
  21. % point = improtdata('点云.txt');
  22. % pcshow(point(:,1:3))
  23. % csv格式采用readtable
  24. % 可能是n*m的形式
  25. % point = readtable('点云');
  26. % 转换数据的格式,由表格的形式转换为数组
  27. % point = table2array(point);
  28. % pcshow(point(:,1:3))

上图即为加载显示的茶壶点云,为matlab的自带数据。

2 其他显示方式

  1. clear all
  2. clc
  3. % scatter3 显示,需要分别读取xyz
  4. ptCloud = pcread('teapot.ply');
  5. % 读取pointCloud结构中的xyz值
  6. xyz = ptCloud.Location;
  7. % 使用scatter3显示
  8. scatter3(xyz(:,1),xyz(:,2),xyz(:,3),'.')
  9. % 锁定坐标轴
  10. axis equal
  11. % plot3也可以做到同样的事情
  12. plot3(xyz(:,1),xyz(:,2),xyz(:,3),'.')
  13. axis equal

 3 点云的保存

  1. clear all
  2. clc
  3. % 可以用pcwrite进行保存pcd、ply格式
  4. % save保存txt格式,如果是双精型,则需要添加'-double',详细见帮助文档
  5. % csv格式用writetable
  6. % 这里不在做更多的演示

 4 点云密度的计算

通过GB/T 36100—2018 机载激光雷达点云数据质量评价指标及计算方法-规范计算。

  1. clear all
  2. clc
  3. % 读取matlab自带的点云文件
  4. ptCloud = pcread('teapot.ply');
  5. % 读取点云xyz值
  6. xyz = ptCloud.Location;
  7. % 凸包计算茶壶的二维占地面积
  8. % 凸包需要双精型,读取的xyz为单精
  9. xyz = double(xyz);
  10. % K返回边界索引,V返回面积
  11. [K,V] = convhull(xyz(:,1),xyz(:,2));
  12. % sizelength都可查看点云的数量,这里以size为例
  13. % n和m返回点云的行和列
  14. [n,m] = size(xyz);
  15. % n行就是点云的数量
  16. % 由于无水域区域,所以点云的密度为总数量/面积
  17. p = n/V;

此外还有距离密度,这个即为每个离它最邻近点的距离的平均值

  1. clear all
  2. clc
  3. % 读取matlab自带的点云文件
  4. ptCloud = pcread('teapot.ply');
  5. % 读取点云xyz值
  6. xyz = ptCloud.Location;
  7. % 通过knnsearch即‘k'临近计算xyz集合里面每个点离xyz集合里面的最近点
  8. % 由于第一个搜索的点是他本身,所以k临近个数选择了2
  9. [idx,d] = knnsearch(xyz,xyz,'k',2);
  10. % idx是最邻近点的索引项,用不到;d是每个点离它最邻近点的距离值
  11. % 计算平均距离,即距离密度,单位:m
  12. p = mean(d(:,2));

5 其他备注

las格式matlab也可以加载,但是matlab本身不具有加载的function,需要在github上下载,LASreadAll等。

后续博主将不定时间持续更新,包含点云文献阅读、林业点云数据处理、点云相关知识介绍等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/394272
推荐阅读
相关标签
  

闽ICP备14008679号