pointCloud类是Matlab2015a种新引入的一个类,主要用于3D点云数据的存储与操作,其具有如下属性:

  • Location——3D点坐标,数据格式为M*3矩阵或者M*N*3矩阵
  • Color——3D点的RGB颜色 信息,数据格式同上
  • Normal——3D点的法向量信息,数据格式同上
  • Count——3D点的数量
  • Xlimits——X坐标大小范围
  • Ylimits——Y坐标大小范围
  • Zlimits——Z坐标大小范围

针对Location、Color、Normal中数据格式为M*3或者M*N*3矩阵,在这里做一些解释。

直观而言,三维坐标具有XYZ属性,RGB颜色信息具有RGB值三种属性,法向量则具有XYZ三个方向的向量大小三种属性。

按理说,M*3矩阵就足以用于表达这些信息。事实上,3D点云中M*3矩阵的表达方式在被称为“无序点云”, 而M*N*3矩阵的表达方式被称为“有序点云”。

上图为RGB颜色信息以M*3格式存储时的直观体现。

上图则为RGB颜色信息以M*N*3格式存储时的直观体现。

可以看到,相同的是“3”都是代表R\G\B三个属性,而无序点云以“列向量中上下之间的相对顺序对应点的顺序”,而有序点云则以“矩阵中元素的位置关系表示对应点的顺序”。

pointCloud类的一些基本方法如下:

  • findNearestNeighbors:用于寻找一个点的最近邻的点
  • findNeighborsInRadius:寻找某个距离Radius内的所有近邻点
  • findPointsInROI:寻找ROI中的点,ROI代表region of interest(兴趣区域),ROI格式为3*2矩阵[xmin, xmax; ymin, ymax; zmin, zmax]
  • removeInvalidPoints:去除点云中NaN属性的点,注:调用该函数后有序点会转化为无序点
  • select:按序号选择特定的店,根据有序/无序点云格式输入也不相同

下面给出一个寻找两片点云最短距离的例子

  //创建两片点云ptCloud1 = pointCloud(rand(100,3,'single'));ptCloud2 = pointCloud(1+rand(100,3,'single'));minDist = inf;
//对于ptCloud1中的每一个点,寻找其在ptCloud2中的最近点
for i = 1 : ptCloud1.Countpoint = ptCloud1.Location(i,:);[~,dist] = findNearestNeighbors(ptCloud2,point,1);if dist < minDistminDist = dist;end
end

参考:http://cn.mathworks.com/help/vision/ref/pointcloud-class.html

Matlab 2015a 中 pointCloud类相关知识相关推荐

  1. PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解

    本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...

  2. 聚合物?锂离子?保护板?电子DIY中的锂电池相关知识大讲解

    锂电池相关知识 因为看到别人做平衡车直接使用18650电池供电,整整齐齐地码了3颗在PCB上感觉十分优雅,所以自己也想要用18650做一个,奈何对这方面一无所知,索性把相关知识都学一遍吧. 因为网上资 ...

  3. 数学中的向量相关知识

    前端做3D效果,会用到向量相关知识: 向量叉积=向量的模乘以向量夹角的正弦值:a×b=|a||b|sin<a,b> 向量点积=向量的模乘以向量夹角的余弦值.a·b=|a||b|cos< ...

  4. 关于Java中何时使用static和工具类相关知识

    2019独角兽企业重金招聘Python工程师标准>>> 一.使用static修饰变量:当对象中出现共享数据时,该数据被静态修饰,对象中的特有数据要定义成非静态存放于堆内存中. 二.使 ...

  5. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  6. Java字符串的重要性_java中的字符串相关知识整理

    字符串就是一系列的字符组合的串,如果写过C/C++的应该就了解,在字符串的操作上会有许多操作的函数与类,用于简化代码的开发.一方面是因为字符串在代码中会频繁用到,另一方面是因为字符串的操作非常麻烦. ...

  7. 系统开发基础:UML中图的相关知识笔记(下)

    1.状态图 状态图展现了一个状态机,它由状态.转换.事件.活动组成.状态图关注系统的动态视图,它对于接口.类.协作的行为建模尤为重要,它强调对象行为的事件顺序. 组成:简单状态.组合状态.转换(事件和 ...

  8. 系统开发基础:UML中图的相关知识笔记(上)

    1.图的概念 图(Diagram) 是一组元素的图形表示,大多数情况下,把图画成顶点(代表事物)和弧(表示关系)的连通图. 2.UML中图的分类 UML2.0中的图主要有:类图.对象图.用例图.序列图 ...

  9. .Net中加密解密相关知识

    最近在看我所在项目系统里支付方面的代码,里面包括很多加密解密方面的知识,结合平时对加密解密的了解,对.net里加解密做一个总结. 最开始遇到加密解密,可能和大家一样,MD5加密,读大学的时候 ,我喜欢 ...

最新文章

  1. 02. 值类型和引用类型的传递
  2. ant接口自动化 junit_Jenkins + Ant自动运行Junit测试
  3. matlab产生扫频余弦信号 chirp用法
  4. pyinstaller生成exe文件失败
  5. 不平等博弈问题学习记录(三)(对于超实数在博弈下左大右小以及多堆情况的扩充)
  6. 盘点最著名的10位伟大的程序员
  7. 为什么我的会话状态在ASP.NET Core中不工作了?
  8. MachineLearning(3)-流型
  9. react typescript 父组件调用子组件
  10. Python | 程序查找列表中最小和最大元素的位置
  11. ECMAScript6词法
  12. iOS 的 (签名验签)Code Signing 体系
  13. 基于工厂智能化改造——数字孪生映射应用案例解析
  14. Android微信hook
  15. windows快捷键+组合键+搜索命令
  16. opencv 获取最小外接矩形
  17. 网上报修 php源码,25175网上报修系统管理平台 v2.9
  18. 给input[text]添加icon,并且绑定事件
  19. 威纶通触摸屏读取西门子1200PLC地址数据
  20. Python字典的创建

热门文章

  1. webpack4-- 处理html中引入的图片
  2. js最小化浏览器_Handtrack.js 开源:3行JS代码搞定手部动作跟踪
  3. java学习类的笔记
  4. 《深入理解Java虚拟机》笔记4——类文件结构
  5. 通过源码分析MyBatis的缓存
  6. Vue.js 状态管理
  7. Spring - Java/J2EE Application Framework 应用框架 第 18 章 使用Quartz或Timer完成时序调度工作
  8. Java程序员从笨鸟到菜鸟之(二十八)Javascript总结之语言基础
  9. OpenCV之gpu 模块. 使用GPU加速的计算机视觉:GPU上的相似度检测(PNSR 和 SSIM)
  10. Fun Chat 饭聊手机软件