pcdenoise

从3-D点云中去除噪音

描述

例子

ptCloudOut= pcdenoise (ptCloudIn)返回一个过滤过的点云,该点云删除了异常值。

(ptCloudOut,inlierIndices,outlierIndices) = pcdenoise (ptCloudIn)另外,返回被识别为inliers和outliers的点的线性索引。

(ptCloudOut,___) = pcdenoise (___名称,值)使用由一个或多个指定的附加选项名称,值使用前面任何语法对参数进行配对。

例子

全部折叠

创建一个平面点云。

全球之声= 0:0.01:1;(X, Y) = meshgrid(问,问);ptCloud = pointCloud ([X (:), Y(:), 0.5 *的(元素个数(X) 1)));图pcshow (ptCloud);标题(“原始数据”);

添加均匀分布的随机噪声。

噪声=兰特(500,3);ptCloudA = pointCloud ([ptCloud.Location;噪音);图pcshow (ptCloudA);标题(“数据”);

删除离群值。

ptCloudB = pcdenoise (ptCloudA);图;pcshow (ptCloudB);标题(“去噪数据”);

输入参数

全部折叠

点云,指定为pointCloud目的。

名称-值对的观点

的可选逗号分隔对名称,值参数。的名字参数名称和价值是对应的值。的名字必须出现在引号内。可以按任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例子:“阈值”,1.0将阈值设置为1.0

最近邻点的数量,指定为逗号分隔的对,由“NumNeighbors'和以像素为单位的正整数。使用该值的平均值的平均距离的估计所有点的邻居。减小此值使过滤器噪声更敏感。增加此值会增加计算的数量。

数据类型:|

离群值阈值,指定为逗号分隔的对,由“阈值“和一个标量。默认情况下,该阈值与平均值的平均距离的所有点的邻居一个标准差。的点被认为是异常值,如果平均距离其k-最近的邻居超过指定的阈值。

数据类型:|

输出参数

全部折叠

过滤点云,返回为apointCloud目的。

inlier点的线性索引,返回为1 by-N向量。

数据类型:uint32

离群点的线性索引,返回为1 by-N线性指标的向量。

数据类型:uint32

参考

[1] Rusu, r.b., Z. C. Marton, N. Blodow, M. Dolha, M. bez。“面向家庭环境的3D点云对象地图”。机器人和自动系统杂志。2008.

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了在R2015a