主要内容

pcdownsample

向下采样一个三维点云

描述

ptCloudOut= pcdownsample (ptCloudIn“随机”百分比返回随机采样且不替换的下采样点云。的百分比Input指定要返回到输出的输入部分。

例子

ptCloudOut= pcdownsample (ptCloudIn“gridAverage”gridStep使用方框网格过滤器返回下采样的点云。的gridStepinput指定3d盒子的大小。

ptCloudOut= pcdownsample (ptCloudIn“nonuniformGridSample”maxNumPoints使用非均匀方框网格过滤器返回下采样点云。您必须设置网格框中的最大点数,maxNumPoints,至少6

例子

全部折叠

读点云。

ptCloud = pcread (“teapot.ply”);

设置3-D分辨率为(0.1 x 0.1 x 0.1)。

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

可视化下采样的数据。

图;pcshow (ptCloudA);

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

将点云与使用固定步长下采样的数据进行比较。

stepSize =地板(ptCloud.Count / ptCloudA.Count);指数= 1:stepSize: ptCloud.Count;ptCloudB = select(ptCloud, indices); / /索引图;pcshow (ptCloudB);

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

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

ptCloud = pointCloud ((100 3));

将3-D分辨率设置为一个较小的值。

gridStep = 0.01;

现在输出只包含一个唯一的点。

ptCloudOut = pcdownsample (ptCloud,“gridAverage”gridStep)
ptCloudOut = pointCloud with properties: Location: [1 1 1] Count: 1 XLimits: [1 1] YLimits: [1 1] ZLimits: [1 1] Color: [0x3 uint8] Normal: [0x3 double] Intensity: [0x1 double]

输入参数

全部折叠

点云,指定为pointCloud对象。

随机下采样方法,指定为“随机”.的“随机”方法比方法更有效“gridAverage”下采样方法,特别是在点云配准前应用。

使用下采样点云“随机”“gridAverage”,或“nonuniformGridSample”输入,按度规你用在pcregistericp函数注册。

度规 移动PointCloud Downsample方法 定点云下采样方法
“点到点” “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

输入的百分比,指定为范围[0,1]内的正标量。的百分比Input指定函数要返回的部分输入。

网格平均下采样法,指定为“gridAverage”.同一框中的点合并为输出中的单个点。它们的颜色和正常属性被相应地平均。该方法较传统的方法更好地保持了点云的形状“随机”downsample方法。

该函数计算整个点云的轴向边界框。将包围框划分为大小为的网格框gridStep.每个网格框中的点通过平均它们的位置、颜色和法线来合并。

使用下采样点云“随机”“gridAverage”,或“nonuniformGridSample”输入,按度规你用在pcregistericp函数注册。

度规 移动PointCloud Downsample方法 定点云下采样方法
“点到点” “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

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

数据类型:|

非均匀网格取样方法,规定为“nonuniformGridSample”.这种方法的最佳用途是将其作为预处理步骤应用到pcregistericp函数用于点云配准,当您使用“pointToPlane”指标。当你使用“nonuniformGridSample”算法中,下采样前先在原始数据上计算法线。下采样输出保持更精确的正态分布。

使用下采样点云“随机”“gridAverage”,或“nonuniformGridSample”输入,按度规你用在pcregistericp函数注册。

度规 移动PointCloud Downsample方法 定点云下采样方法
“点到点” “随机” “随机”
“gridAverage” “gridAverage”
“pointToPlane” “gridAverage” “gridAverage”
“随机” “nonuniformGridSample”

网格框中的最大点数,指定为大于的整数6.该方法从每个框中随机选取一个点。如果在输入点云中没有提供法线,该方法将自动填充ptCloudOut输出。

输出参数

全部折叠

下采样点云,返回为pointCloud对象。

参考文献

波默洛,F. Colas, R. Siegwart和S. Magnenat。“比较真实世界数据集上的ICP变体。”自主机器人.第34卷第3期,2013年4月,133-148页。

扩展功能

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

介绍了R2015a