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);标题(“去噪数据”);

输入参数

全部折叠

点云,指定为apointCloud对象。

名称-值对的观点

的可选逗号分隔对名称,值参数。的名字参数名称和价值为对应值。的名字必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“阈值”,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