关键点 + 局部特征描述子 = 关键点描述子 -> 加快识别、追踪。
(NARF)法向对齐径向特征
步骤:
- 遍历深度图像点,有深度突变位置进行边缘提取;
- 测度表面变化的系数以及变化的主方向;
- 主方向计算兴趣值;
- 对兴趣值进行平滑;
- 无最大值压缩,获得关键点。
代码:
(1)创建RangeImageBorderExtractor对象,用来提取深度图像边缘;
pcl::RangeImageBorderExtractor range_image_border_extractor;
(2)创建NarfKeypoint对象,把RangeImageBorderExtractor 对象和深度图像传递给它;
pcl::NarfKeypoint narf_keypoint_detector(&range_image_border_extractor);
narf_keypoint_detector.setRangeImage(&range_image);
(3)设置参数:搜索空间球体半径,其他;
narf_keypoint_detector.getParameters().support_size=support_size;
//narf_keypoint_detector.getParameters ().add_points_on_straight_edges = true;
//narf_keypoint_detector.getParameters ().distance_for_additional_points = 0.5;
(4)创建点云对象,存储关键点。
pcl::PointCloud<int>keypoint_indices;
narf_keypoint_detector.compute(keypoint_indices);