pcdenoise

去除三维点云中的噪声

描述

例子

ptCloudOut= pcdenoise (ptCloudIn返回过滤后的点云,该点云去除离群值。

ptCloudOutinlierIndicesoutlierIndices) = pcdenoise (ptCloudIn另外,返回被标识为嵌线和离群值的点的线性索引。

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

例子

全部折叠

创建平面点云。

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

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

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

删除离群值。

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

输入参数

全部折叠

点云,指定为pointCloud对象。

名称-值对的观点

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

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

最近邻点的数目,指定为逗号分隔对,由'NumNeighbors和一个以像素为单位的正整数。该值用于估计所有点到邻居的平均距离的平均值。降低这个值会使滤波器对噪声更敏感。增加这个值会增加计算的数量。

数据类型:|

离群值阈值,指定为逗号分隔对,由'阈值’和标量。默认情况下,阈值是所有点到邻居的平均距离的平均值的一个标准差。一个点被认为是离群点,如果它的平均距离k-nearest neighbors超过指定的阈值。

数据类型:|

输出参数

全部折叠

过滤点云,返回为pointCloud对象。

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

数据类型:uint32

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

数据类型:uint32

参考文献

ruu, R. B., Z. C. Marton, N. Blodow, M. Dolha, M. betz。“面向家庭环境的基于3D点云的对象地图”。机器人与自主系统学报.2008.

扩展功能

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

介绍了R2015a