PHFEstimation大点云采用邻近点而非距离



pcl::PointCloud<pcl::PFHSignature125>::Ptr cloud_pfhOutput(new pcl::PointCloud<pcl::PFHSignature125>);
 cloud_pfhOutput->is_dense = true;
 pcl::search::KdTree<pcl::PointXYZ>::Ptr pfhKDTree(new pcl::search::KdTree<pcl::PointXYZ>);
 pcl::PFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::PFHSignature125> pfh;
 pfh.setSearchMethod(pfhKDTree);
 pfh.setKSearch(numberOfNearestNeighbor);
 pfh.setInputCloud(cloud_siftOutput);
 pfh.setInputNormals(cloud_normals);
 pfh.setSearchSurface(cloud_sampled);
 //pfh.setRadiusSearch(searchRadius);
 pfh.compute(*cloud_pfhOutput);


一开始的时候,用的邻近点个数,250,


 pfh.setSearchMethod(250);

但是对于大点云来说,不合适,结果cloud_pfhOutput里面的descriptorSize()都是0,即为空


后来改为pfh.setRadiusSearch(searchRadius);

对空间距离不好把握,所以也为空

再改为邻近点为10,


 pfh.setSearchMethod(10);


OK

猜你喜欢

转载自blog.csdn.net/directx3d_beginner/article/details/80073904