一、点特征直方图描述子(PFH)
计算方式通过参数化查询点与淋浴点之间的空间差异,并形成一个多维直方图对点的k邻域集合属性进行描述。
以下代码段对输入数据集中所有点估计其对应的PFH特征。
#include <pcl/point_types.h>
#include <pcl/features/pfh.h> //PFH
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>());
//以下为本章主要内容
pcl::PFHEstimation<pcl::PointXYZ,pcl::Normal,pcl::PFHSignature125>pfh;
pfh.setInputCloud(cloud);
pfh.setInputNormals(normals);
//创建一个空的kd树表示法
pcl::KdTreeFLANN<pcl::PointXYZ>::Ptr tree(new pcl::KdTreeFLANN<pcl::PointXYZ>());
pfh.setSearchMethod(tree);
//输出的数据集
pcl::PointCloud<pcl::PFHSignature125>::Ptr pfhs(new pcl::PointCloud<pcl::PFHSignature125>());
//使用半径内5里面范围所有元素
pfh.setRadiusSearch(0.05);
pfh.compute(*pfhs);
二、快速点特征直方图描述子(FPFH)