**

点云数据降采样 pcdownsample()

**

pcdownsample降采样减少点云数据量:

一、语法:

ptCloudOut = pcdownsample(ptCloudIn, 'random', percentage)

ptCloudOut = pcdownsample(ptCloudIn, 'gridAverage', gridStep)

ptCloudOut = pcdownsample(ptCloudIn, 'nonuniformGridSample', maxNumPoints)

二、描述:

ptCloudOut = pcdownsample(ptCloudIn,'random',percentage)

//random 随机下采样方式;percentage 百分比

//返回一个带有随机采样且没有替换的下采样点云。百分比输入指定返回到输出的输入部分。

ptCloudOut = pcdownsample(ptCloudIn,'gridAverage',gridStep)

//gridAverage平均网格;gridStep网格步长

//使用box grid过滤器返回下采样点云。gridStep输入指定3d框的大小。

ptCloudOut = pcdownsample(ptCloudIn,'nonuniformGridSample',maxNumPoints)

//nonuniformGridSample非均匀网格取样;maxNumPoints最大点数

//使用非均匀盒网格过滤器返回下采样点云。您必须将网格框中的最大点数maxNumPoints设 置为至少6。

三、例子:

一、下采样点云使用网格过滤:

//读取一份点云:

ptCloud = pcread('teapot.ply');

//设置3-D分辨率为(0.1 x 0.1 x 0.1):

gridStep = 0.1;

ptCloudA = pcdownsample(ptCloud,'gridAverage',gridStep);

//可视化下采样数据:

figure;

pcshow(ptCloudA);

//将点云与使用固定步长下采样的数据进行比较:

stepSize = floor(ptCloud.Count/ptCloudA.Count);

indices = 1 : stepSize : ptCloud.Count;

ptCloudB = select(ptCloud, indices);

figure;

pcshow(ptCloudB);

二、从点云中删除冗余点:

//创建一个点云,所有点共享相同的坐标:

ptCloud = pointCloud(ones(100,3));

//将3-D分辨率设置为一个小值:

gridStep = 0.01;

//输出现在只包含一个惟一点:

ptCloudOut = pcdownsample(ptCloud,'gridAverage',gridStep)

三、输入参数

1、随机采样方法(random):

指定为字符串“Random”。这种方法比“gridAverage”下采样方法更有效,尤其是在点云注册之前。

百分比 – 投入的百分比(percentage(积极的标量)):

输入的百分比,在[0,1]范围内指定为正标量。百分比输入指定函数返回的输入部分。

2、平均网格下采样方法(gridAverage):

指定为字符串“gridAverage”。同一个框中的点被合并到输出中的一个点。它们的颜色和正常属性也相应平均。该方法保留了点云的形状。

该函数为整个点云计算轴向对齐的边界框。边界框被划分为由gridStep指定大小的网格框。每个网格框中的点通过对它们的位置、颜色和法线进行平均合并。

网格步长-网格过滤器的三维框的大小(gridStep(数值)):

用于网格过滤器的三维框的大小,指定为数值。当没有足够的资源构建大型细粒度网格时,增加gridStep的大小。

3、非均匀网格抽样法(nonuniformGridSample):

非均匀网格抽样方法,指定为字符串“非均匀网格抽样”。该方法的最佳用途是,在使用“pointToPlane”度量时,将其作为点云注册的pcregrigid函数的预处理步骤。当您使用“非均变网格采样”算法时,法线是在向下采样之前对原始数据进行计算的。下采样输出保持了更准确的法线。

网格框中的最大点数(maxNumPoints)(整数):

网格框中的最大点数,指定为大于6的整数。该方法从每个框中随机选择一个点。如果输入点云中没有提供normal,则此方法将自动填充ptCloudOut输出中的normal属性。

四、输出参数

ptCloudOut -过滤点云

pointCloud对象

matlab 降采样代码,matlab 点云降采样 pcdownsample()相关推荐

  1. matlab 抽样判决代码,matlab抽样判决器

    低通 滤波器 LPF 用于滤除高频分量,提高信噪比;抽样判决所需的同步时钟需要从... 通信原理 MATLAB 仿真实验 基于 MATLAB 的第一类部分响应系统的 基带信号及其眼图...这种方法具体 ...

  2. matlab心线代码,matlab心形线

    1. 笛卡尔心形线绘图 MATLAB 代码: close all; clear ... 其中参数可以同时选用,若只选 一部分,其余项用Matlab设定的默认值. ? 参数见...的图形 ? 心形线 四 ...

  3. matlab处理视频代码,Matlab视频处理心脏跳动。代码补充

    我正在努力编写一段代码,帮助我进行生物学工作. 代码的概念是分析在组织中收缩细胞的视频文件 Example 1 示例2:youtube.com/watch?v=uG_WOdGw6Rk 并绘出以下内容: ...

  4. MATLAB输入排序代码,matlab快速排序算法实现

    只有C中的qsort存在,调用比较麻烦,其实在数据结构中,快速排序法是经典排序之一,上网搜了一下简介,把对应的VC程序改了一下,做成了下面的matlab代码: %  快速排序法 %  基本的思想:通过 ...

  5. matlab常用的代码,matlab常用代码

    1.将数组数据存到text文件中 fid=fopen('test1.txt','wt'); %写的方式打开文件(若不存在,建立文件): fprintf(fid,'%d ',Scan_Pha); % % ...

  6. matlab 水波模拟 代码,matlab - 在Matlab中模拟一艘在水波中航行的船 - SO中文参考 - www.soinside.com...

    我刚刚制作了一个由四边形组成的帆船的简单模型.这允许我们使用surf函数来绘制它.这应该只是一个起点,看看你如何做到这一点.但请记住,这可能不是最好的方法.正如已经提到的评论,MATLAB真的不是最好 ...

  7. matlab读二进制文件代码,[Matlab+C/C++] 读写二进制文件

    introduction 由于Matlab操作简单.方便,它被应用于非常多领域:音频处理,图像处理,数值计算等.虽然MATLABeasy操作.但受限于他的语言解释机制.MATLAB的运行速度通常较低. ...

  8. matlab提取背景代码,Matlab(三)——图像处理实例:去除背景,提取指纹

    本Project要对一下图像进行处理,去掉指纹周围的雾.这里采用matlab软件来对图像进行批量处理. 源代码:https://download.csdn.net/download/qq_377641 ...

  9. matlab错误的代码,matlab代码纠正错误

    我写的代码如下:function ODEfunctiongroup_boke_wo %  动力学ODE方程模型的参数估计 %  此例数据只有t,x1,x2,x3,x4,x5,x6,x7,x8,x9,x ...

最新文章

  1. Symantec(VeriSign)SSL证书
  2. 初探DispatcherServlet#doDispatch
  3. WSL——Linux C编程中lockf函数无效
  4. 含隐变量模型求解——EM算法
  5. PDF背景怎么添加,如何修改PDF背景
  6. SLAM | 视觉SLAM中特征点法开源算法:PTAM、ORB-SLAM
  7. python制作热力图_python绘制热力图
  8. CSS特效二:按钮动画效果
  9. 选择中医 - 养生之道
  10. DPDK内存管理总结
  11. <<多模态预训练—泛读>>2022:BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Unders
  12. 《Linux C编程从入门到精通》——1.4 Linux的常用命令
  13. springboot+vue框架
  14. 浏览器慢?这是加速 Chrome 的方法
  15. 达人合作加持品牌布局,3.8女神玩转流量策略!
  16. CEVA-X16自由式编程-3-破译指令编码
  17. 大事件后台管理系统——文章管理
  18. 运筹学笔记 对偶理论与灵敏度分析
  19. 半导体设备英文缩写_科创市值风云系列:半导体设备龙头——中微公司
  20. 代码覆盖率之 sonar

热门文章

  1. 升级打怪-精度图解HTTP(第六章)
  2. Android 使用Messenger和Aidl实现跨进程通信
  3. cookie详解(含vue-cookie)
  4. iOS/APP/苹果超级企业签名是什么原理
  5. 使用mysql创建外键约束_Mysql创建外键约束的两种方式
  6. Unity 帧同步游戏实现高光时刻
  7. 泛函分析 03.06 内积空间与Hilbert空间 - 习题课
  8. Fix signatures do not match the previously installed version
  9. 2021年项城一高理科高考成绩查询,项城一高举行2021年高考壮行大会
  10. 目标检测——交并比(Intersection of Union,IoU)计算