C++ 设置为子集点云匹配

C++ 设置为子集点云匹配,c++,point-cloud-library,point-clouds,C++,Point Cloud Library,Point Clouds,我有两个点云,在三维坐标中。一个是另一个的子集,包含许多较少的点。它们的规模是一样的 我需要做的是找到两者之间的平移和旋转。我看过点云库,但这些匹配方法似乎都期望两个点集包含几乎相同的点,而不是一个较小的点集 我可以使用其中任何一个,并进行调整吗?或者是否有其他算法将子集点云与集合相匹配 谢谢。如果无法访问样本数据,很难向您推荐特定的注册算法 然而,我现在对所有新的“数据驱动”注册方法感到非常兴奋 根据我个人的经验,我使用这篇最新论文的方法获得了非常好的注册结果: Wich的源代码可在此处找到

我有两个点云,在三维坐标中。一个是另一个的子集,包含许多较少的点。它们的规模是一样的

我需要做的是找到两者之间的平移和旋转。我看过点云库,但这些匹配方法似乎都期望两个点集包含几乎相同的点,而不是一个较小的点集

我可以使用其中任何一个,并进行调整吗?或者是否有其他算法将子集点云与集合相匹配


谢谢。

如果无法访问样本数据,很难向您推荐特定的注册算法

然而,我现在对所有新的“数据驱动”注册方法感到非常兴奋

根据我个人的经验,我使用这篇最新论文的方法获得了非常好的注册结果:

Wich的源代码可在此处找到:


正如论文中所报告的,它优于基于pcl描述符的注册方法,我认为它可能适合您的需要。

您需要两个点云中足够多的对等点作为对应,以找到平移和旋转。您不能将这些方法用于没有交集的子集。谢谢您的评论。它是一个文字子集,如中所示,它包含集合中的一些点。谢谢。我在windows上,因此无法使用该库。您是否遇到过实时工作的点匹配方法?我很难找到可以处理set-to-subset并将实时运行的东西(