主要内容

pcdownsample

Downsample三维点云

描述

ptCloudOut= pcdownsample (ptCloudIn,“随机”,百分比)返回一个downsampled点云。使用这个语法没有更换随机抽样。的百分比输入指定的一部分返回的输出。

例子

ptCloudOut= pcdownsample (ptCloudIn,“gridAverage”,gridStep)返回一个downsampled点云网格过滤器使用一个盒子。的gridStep输入指定三维框的大小。

ptCloudOut= pcdownsample (ptCloudIn,“nonuniformGridSample”,maxNumPoints)返回一个使用非均匀网格框过滤器downsampled点云。必须设置点在网格框的最大数量,maxNumPoints,至少6

(ptCloudOut,指数)= pcdownsample (___)返回点的线性指标中包含downsampled点云。这个语法只适用于当您使用“随机”“nonuniformGridSample”将采样的方法。

___= pcdownsample (___,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,pcdownsample (PtCloud“随机”,百分比,PreserveStructure = true)保存一个点云的组织结构。

例子

全部折叠

读点云。

ptCloud = pcread (“teapot.ply”);

设置三维分辨率(0.1 x 0.1 x 0.1)。

gridStep = 0.1;ptCloudA = pcdownsample (ptCloud,“gridAverage”,gridStep);

可视化downsampled数据。

图pcshow (ptCloudA);

图包含一个坐标轴对象。坐标轴对象包含一个散射类型的对象。

把点云数据downsampled使用一个固定的步长。

stepSize =地板(ptCloud.Count / ptCloudA.Count);指数= 1:stepSize: ptCloud.Count;ptCloudB =选择(ptCloud、指标);

可视化downsampled点云。

图pcshow (ptCloudB);

图包含一个坐标轴对象。坐标轴对象包含一个散射类型的对象。

创建一个与所有点共享相同的点云坐标。

ptCloud = pointCloud ((100 3));

三维分辨率设置为一个较小的值。

gridStep = 0.01;

输出现在只包含一个独特的观点。

ptCloudOut = pcdownsample (ptCloud,“gridAverage”gridStep)
ptCloudOut = pointCloud属性:位置:(1 1 1)数:1 XLimits: [1] YLimits: [1] ZLimits:(1)颜色:[0 x3 uint8]正常:[0 x3双]强度:[0 x1双]

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

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

Downsample点云。

比例= 0.1;orgPtCloudOut = pcdownsample (orgPtCloud,“随机”百分比,PreserveStructure = true);

输入参数

全部折叠

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

随机downsample方法,指定为“随机”。的“随机”方法是更有效的比“gridAverage”downsample方法,特别是应用在点云登记。

指定的百分比输入,作为一个非负区间[0,1]的标量。的百分比输入指定的输入函数的一部分返回。

网格平均downsample方法,指定为“gridAverage”。分在同一个盒子合并的单点输出。他们的颜色和相应的正常平均属性。这种方法保留点云的形状比“随机”downsample方法。

函数计算axis-aligned整个点云的边界框。边界框分为网格箱尺寸规定gridStep。点在每个网格框由平均合并他们的位置、颜色、法线。

三维框大小网格过滤器,指定为一个数值。增加的尺寸gridStep当没有足够的资源来构建一个大的细粒度的网格。

数据类型:|

非均匀网格采样方法,指定为“nonuniformGridSample”。当你使用“nonuniformGridSample”上的法线计算算法,将采样前原始数据。downsampled输出保存更准确的法线。

最大数量的点在网格框中,指定为一个整数比6。方法随机选择一个点从每个盒子。如果正常中没有提供输入点云,该方法自动填写正常的财产ptCloudOut输出。

名称-值参数

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

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

例子:PreserveStructure = true保存一个点云的组织结构。

保留一个点云的组织结构,指定为真正的。表描述了根据点云结构的价值PreserveStructure

PreserveStructure 函数返回
真正的

一个有组织的,downsampled,点云。

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

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

返回一个有组织的点云,输入必须是一个有组织的点云,必须将采样方法“随机”“nonuniformGridSample”

一个无组织的,downsampled,点云。

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

输出参数

全部折叠

Downsampled点云,作为一个返回pointCloud对象。

指数downsampled点云的点,作为一个返回N元向量。

引用

[1]波默洛,F。,F. Colas, R. Siegwart, and S. Magnenat. “Comparing ICP variants on real-world data sets.”自主机器人。34卷,第三期,2013年4月,第133 - 148页。

扩展功能

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

版本历史

介绍了R2015a