主要内容

pcdenoise

将噪声从三维点云

描述

例子

ptCloudOut= pcdenoise (ptCloudIn)返回一个点云过滤,去除离群值。

(ptCloudOut,inlierIndices,outlierIndices)= pcdenoise (ptCloudIn)此外返回点的线性指数被认为是内围层和异常值。

(ptCloudOut,___)= pcdenoise (___名称=值)指定一个名称-值参数除了参数从以前的语法的任意组合。例如,阈值= 1.0设置异常阈值1.0

例子

全部折叠

创建一个平面点云。

全球之声= 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);标题(“去噪数据”);

图包含一个坐标轴对象。坐标轴标题运用数据对象包含一个类型的对象分散。

从保存MAT-file加载一个有组织的点云。

ld =负载(“drivingLidarPoints.mat”);orgPtCloud = ld.ptCloud;

去除噪声点云。

orgPtCloudOut = pcdenoise (orgPtCloud PreserveStructure = true);

输入参数

全部折叠

点云,指定为一个pointCloud对象。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:阈值= 1.0阈值设置为1.0

最近邻点数量,指定为逗号分隔两人组成的“NumNeighbors“和一个正整数像素。值是用来估计平均距离的均值邻居的点。降低这个值滤波器对噪声更敏感。增加这个值增加的数量计算。

数据类型:|

离群值阈值,指定为逗号分隔两人组成的阈值”和积极的标量。默认情况下,阈值是一个标准差的意思是平均距离邻居的点。一个点被认为是一个异类的平均距离k最近的邻居是上面指定的阈值。

数据类型:|

保持一个点云的组织结构——- - - - - -N3位置矩阵,指定为真正的。表描述了根据点云结构的价值PreserveStructure

PreserveStructure 函数返回
真正的

一个有组织的,点云去噪。

位置属性描述点云的结构,包含一个——- - - - - -N3矩阵。

点不去噪点云充满了选择,和相应的颜色设置为(0 0 0)

返回一个有组织的点云,输入必须是一个有组织的点云。

一个无组织的,点云去噪。

位置属性描述点云的结构,包含一个3矩阵。

输出参数

全部折叠

过滤后的点云,作为一个返回pointCloud对象。

线性指数窗点,返回1,N向量。

数据类型:uint32

离群点的线性指数,作为1 -返回N向量。

数据类型:uint32

引用

[1]Rusu, r . B。,Z. C. Marton, N. Blodow, M. Dolha, and M. Beetz. “Towards 3D Point Cloud Based Object Maps for Household Environments”.机器人和自治系统杂志》上。2008年。

扩展功能

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

版本历史

介绍了R2015a