我正在做一个项目来探测纸飞机的位置和方向。为了收集数据,我使用的是英特尔Realsense D435,它为我提供了精确、干净的深度数据。
现在,我发现了从三维点云数据中检测二维纸平面轮廓的问题。
下面是数据的一个例子(我把飞机放在一个测试棒上,这将不会在最终实现中):
https://i.stack.imgur.com/EHaEr.gif
基本上,我有:
我想要计算什么旋转/翻译是需要对齐2D形状与三维点云尽可能准确。
我在网上搜索过,但找不到好办法。一种方法是使用迭代最近点(ICP)首先在已知的方向上获取平面的校准点云,并将其与当前的方向对齐。但据我所知,如果点云在一开始就没有接近一致的话,ICP的表现就不太好。
任何帮助都是非常感谢的!编码语言并不重要。
发布于 2022-04-11 09:32:12
你的3d点云有异常值吗?有多少人用哪种方式?
你到底是怎么用ICP的?一种方法是使用ICP,并使用手工编制的初始猜测
pcl::transformPointCloud (*cloud_in, *cloud_icp, transformation_matrix);(为了缓解比较方案需要接近工作的问题。)
你真正想要的是描述点云位置和方向的平面模型,对吗?
在下面的函数中可以找到一个很好的估计器:pcl::ransac pcl::ransace模式共识
然后,您可以获得computedModel系数。
现在找到正确的转换就是:如何计算从一个平面到另一个平面的变换矩阵?
https://stackoverflow.com/questions/71600152
复制相似问题