主要内容

pcmerge

合并两个三维点云

描述

例子

ptCloudOut= pcmerge (ptCloudAptCloudBgridStep在重叠区域使用盒状网格过滤器返回合并的点云。gridStep指定过滤器的3-D框的大小。

例子

全部折叠

在[0,100]中创建X, Y, Z点的点云。

ptCloudA = pointCloud(100*rand(1000,3));

创建部分重叠的点云。

ptCloudB = pointCloud([70 20 30] + 100*rand(1000,3));

使用盒子过滤器合并两个点云。

ptCloudOut = pcmerge(ptCloudA, ptCloudB, 1);pcshow (ptCloudOut);

输入参数

全部折叠

点云A,指定为ApointCloud对象。

点云B,指定为apointCloud对象。

网格过滤器3-D框的大小,指定为数值。增加尺寸gridStep当没有足够的资源来构建大型细粒度网格时。该功能将空间划分为大小不同的3-D盒子(也称为体素)gridStep.然后取每个体素中包含的所有点的平均值。平均值的结果提供了一个新的点来表示合并输出的体素中的所有点。

数据类型:|

输出参数

全部折叠

合并的点云,返回为apointCloud对象。该函数为两个点云之间的重叠区域计算轴对齐的包围框。的大小将包围框划分为多个网格框gridStep.每个网格框中的点通过平均它们的位置、颜色和法线来合并。重叠区域之外的点是不受影响的。

提示

  • 如果两个点云没有填充相同的属性集,例如颜色正常的,这些属性将在返回的点云中被清除。例如,如果ptCloudA有颜色但是ptCloudB那么,不是吗?ptCloudOut不会包含颜色。

  • 函数过滤掉点值。

扩展功能

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

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

版本历史

在R2015a中引入