У меня проблема с сопоставлением результатов двух дескрипторов. Я использую дескриптор FPFH библиотеки Point Cloud, как показано ниже.PCL desciptors соответствует
// Compute the normals
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> normalEstimation;
normalEstimation.setInputCloud(source_cloud);
normalEstimation.setSearchMethod(tree);
pcl::PointCloud<pcl::Normal>::Ptr source_normals(new pcl::PointCloud< pcl::Normal>);
normalEstimation.setRadiusSearch(0.1);
normalEstimation.compute(*source_normals);
pcl::PointCloud<pcl::FPFHSignature33>::Ptr source_features(new pcl::PointCloud<pcl::FPFHSignature33>());
pcl::FPFHEstimation<pcl::PointXYZ, pcl::Normal, pcl::FPFHSignature33> fpfh;
fpfh.setInputCloud(source_cloud);
fpfh.setInputNormals(source_normals);
boost::shared_ptr<std::vector<int> > indicesptr(new std::vector<int>(Source_keypoint_indices));
fpfh.setIndices(indicesptr);
fpfh.setSearchMethod(tree);
fpfh.setRadiusSearch(0.1);
fpfh.compute(*source_features);
и тот же используется для целевого облака Однако при использовании оценки соответствий PCL, как показано ниже результат является неправильным соответствует
pcl::registration::CorrespondenceEstimation<pcl::FPFHSignature33, pcl::FPFHSignature33> est;
pcl::CorrespondencesPtr correspondences(new pcl::Correspondences());
est.setInputSource(source_features);
est.setInputTarget(target_features);
est.determineCorrespondences(*correspondences);
Так есть любой другой способ можно использовать для согласования возможностей ??
Наконец, спасибо за ваше время, учитывая мой вопрос .. :)