gpt4 book ai didi

c++ - 使用迭代最近点 (ICP) 时如何在点云库 (PCL) 中标记 NULL 数据

转载 作者:太空狗 更新时间:2023-10-29 20:27:05 24 4
gpt4 key购买 nike

我正在尝试使用点云库 (PCL) 中集成的迭代最近点 (ICP) 算法对齐 2 组点云。我收到一个错误报告,说找不到足够的对应点。我已经放宽了参数的条件:setEuclideanFitnessEpsilon(-1.797e+5)、setMaximumIterations(40) 和 setRANSACIterations(2000),但仍然有同样的问题。是为了正确对齐,所以在这方面的任何帮助也将不胜感激)

我怀疑这个问题与我的云中有许多 NULL 数据点有关,我将其标记为 NULL (0) 值。使用 PCL 时这样做是否正确? PCL有没有NULL标准值?我显然不希望算法在尝试对齐数据集时考虑那些 NULL 点。

谢谢你的帮助

最佳答案

如果您使用 PCL,无效数据的默认值不是 NULL,而是 NaN。所以如果你想将一个点标记为无效,你应该首先包括<limits>文件,然后将位置设置为“std::numeric_limits::quiet_NaN()”。通常是这样做的

const float bad_point = std::numeric_limits<float>::quiet_NaN();
if( is_invalid_point )
p.x = p.y = p.z = bad_point;

但无论如何,配置 ICP 可能会很痛苦。根据您的数据,您可能需要进行更多的参数调整。

关于c++ - 使用迭代最近点 (ICP) 时如何在点云库 (PCL) 中标记 NULL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com