主要内容

extractFPFHFeatures

从点云中提取快速点特征直方图(FPFH)描述符

描述

特性= extractFPFHFeatures (ptCloudIn提取输入点云对象中每个有效点的FPFH描述符。函数返回描述符N以33比矩阵,N为输入点云中的有效点数。

例子

特性= extractFPFHFeatures (ptCloudIn指数提取位于指定线性指标处的有效点的FPFH描述符,指数

特性= extractFPFHFeatures (ptCloudIn在输入的有组织点云的指定的二维索引处提取有效点的FPFH描述符ptCloudIn.将点的行和列索引指定为,分别。

___validIndices) = extractFPFHFeatures (___返回已提取FPFH描述符的点云中有效点的线性索引。

___) = extractFPFHFeatures (___名称,值除了前面语法中的参数组合外,还使用一个或多个名称-值对参数指定选项。

描述符的提取可以采用KNN搜索法、半径搜索法或两者的结合。的extractFPFHFeatures函数默认使用KNN搜索方法提取描述符。用户可以通过名称-值对参数选择提取方法。例如,“NumNeighbors”,8选择KNN搜索方法提取描述符,并将k-nearest neighbor (KNN)搜索方法中需要考虑的最大邻居数设置为8个。

例子

全部折叠

将点云数据加载到工作区中。

ptObj = pcread (“teapot.ply”);

下采样点云数据。

ptCloudIn = pcdownsample (ptObj,“gridAverage”, 0.05);

为指定关键索引处的点提取FPFH描述符。

keyInds = [6565 10000];特点= extractFPFHFeatures (ptCloudIn keyInds);

在点云上显示关键点。

ptKeyObj = pointCloud (ptCloudIn.Location (keyInds:),“颜色”,[255 0 0;0 0 255]);图pcshow (ptObj)标题(“点云的选定指数”)举行pcshow (ptKeyObj“MarkerSize”, 1000)

图中包含一个轴对象。标题为“点云上选定索引”的轴对象包含两个散点类型的对象。

在关键点显示提取的FPFH描述符。

图ax1 = subplot(2,1,1);栏(功能(1:)“FaceColor”,[1 0 0])“选定指数的FPFH描述符”) ax2 = subplot(2,1,2);栏(特性(2:)“FaceColor”,[0 0 1])连接轴([ax1 ax2],“xy”

图中包含2个轴对象。标题为“选定索引的FPFH描述符”的轴对象1包含一个类型为bar的对象。axis对象2包含一个bar类型的对象。

输入参数

全部折叠

点云,指定为pointCloud对象。

选定点的线性指标,指定为正整数向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

在有组织的点云中选定点的行索引,指定为正整数向量。

向量的长度必须相同。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

组织点云中选定点的列索引,指定为正整数向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值参数

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

例子:“NumNeighbors”8将k-nearest neighbor (KNN)搜索方法中需要考虑的最大邻居数设置为8个。

近邻数为KNN搜索方法,指定为逗号分隔对组成“NumNeighbors”一个正整数。

KNN搜索方法是计算点云中某一点与其相邻点之间的距离,并对其进行升序排序。最近的点被认为是邻居。“NumNeighbors”设置要考虑的邻居数量的上限。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

半径考虑为半径搜索方法,指定为逗号分隔对组成“半径”一个正实值标量。

半径搜索方法设置一个特定的半径围绕一个点,并选择在给定半径内的所有相邻点作为邻居。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

请注意

如果您为两个“NumNeighbors”“半径”名称-值对参数extractFPFHFeatures函数执行KNN搜索方法,然后在给定半径内只选择该集合中的对象。

如果您指定较大的值“NumNeighbors”“半径”,内存占用和计算时间增加。

输出参数

全部折叠

ffh描述符,返回为N正实值的- × 33矩阵。N是函数从中提取FPFH描述符的有效点的数量。每一列都包含点云中一个有效点的FPFH描述符。要额外返回提取的点的索引,请使用validIndices输出参数。

数据类型:

有效点的线性索引,指定为一个正整数向量。向量只包含函数提取特征的那些点的索引。

数据类型:

参考文献

Rusu, Radu Bogdan, Nico Blodow,和Michael Beetz。用于3D注册的快速点特征直方图(FPFH)。在2009 IEEE机器人与自动化国际会议, 3212 - 3217页。IEEE 2009。

扩展功能

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

另请参阅

功能

对象

介绍了R2020b