如何用PCL在点云中可视化pcl::FPFHEstimation的结果?

问题描述 投票:0回答:1

我使用pcl::FPFHEstimation类来检测这样的特征点。

pcl::FPFHEstimationOMP<pcl::PointXYZ, pcl::Normal, pcl::FPFHSignature33> fest;
pcl::PointCloud<pcl::FPFHSignature33>::Ptr object_features(new pcl::PointCloud<pcl::FPFHSignature33>());
fest.setRadiusSearch(feature_radius);
fest.setInputCloud(source_cloud);
fest.setInputNormals(point_normal);
fest.compute(*object_features);

我的问题是如何在pointcloud中可视化检测到的特征点,比如检测到的特征点为红色,非特征点为白色。

我找了很多,但我只找到一些显示直方图的方法,这不是我想要的。

c++ point-cloud-library point-clouds feature-detection
1个回答
0
投票

快速点特征直方图 是一个点描述符(在pcl中,它的形式是 pcl::FPFHSignature33). 这意味着算法会计算输入点云中所有点的直方图。一旦计算出点的描述符,就可以对点进行分类、分割......。但对点进行分类或分割的过程将是另一种算法。

这个 论文中我使用FPFH来粗略地对齐点云。在那里,我使用FPFH描述符来决定云A的哪个点对应云B的哪个点(关联点)。在这个出版物中,我所做的是计算FPFH之前所有点的曲率,然后,我只计算曲率高于给定阈值的点子集的FPFH。这就是我如何提取关键点。然后,我使用这些关键点的FPFH fo其余的东西(在我的情况下,关联点从不同的点云)。

你在你的一个评论中提出的类比。"所以由FPFH计算的特征描述符 更像是一个多维特征向量什么的" 将是一个很好的。

所以,回答你的问题。不,没有其他的工具 除了直方图可视化FPFH数据(或至少没有一个开箱即用的pcl类 你可以使用)。

© www.soinside.com 2019 - 2024. All rights reserved.