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

2023-12-20

我正在尝试使用以下方法对齐 2 组点云迭代最近点(ICP) 算法集成在点云库(PCL)。我收到错误报告,指出找不到足够的对应点。我已经放宽了参数的条件:setEuclideanFitnessEpsilon(-1.797e+5)、setMaximumIterations(40) 和 setRANSACIterations(2000),但仍然遇到同样的问题..(我还没有找到关于这些条件值应该使用哪个或如何使用的太多信息为了正确对齐,所以any help在这方面也将非常感激)

我怀疑这个问题与我的云中有许多 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 可能会很痛苦。您可能需要根据您的数据进行更多参数调整。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用迭代最近点 (ICP) 时如何在点云库 (PCL) 中标记 NULL 数据 的相关文章

随机推荐

  • 如果我使用 UTF-8 字符集,是否需要对特殊字符使用 HTML 实体?

    我正在开发的一个网站正在从 ISO 切换过来 如果HTML字符集设置为UTF 8 还需要替换吗 等与适当的 HTML 实体 不 像这样的符号 德语元音变音 使用 UTF 8 时 所有其他内容都可以像任何其他字符一样使用 但请注意 有些东西仍
  • 允许强制转换为 void(不是指针),为什么?

    为什么我可以将此向量转换为 void 甚至不是指针 int main std vector
  • 在 C# 中重现小数点的撕裂读取

    眼见为实 任何人都可以重现读取撕裂的小数的程序吗 我尝试旋转多个线程 在 1 和 2 之间更改相同的小数 我没有捕获任何与 1 或 2 不同的读取 我希望看到读取器线程看不到写入器线程的原子更改 因此该值应该与 1 或 2 不同 void
  • 删除方法不适用于 Indexed DB HTML5...它返回成功但记录未删除

    我在使用桌面 Chrome 时遇到的 HTML5 Indexed DB 的另一个问题是我无法从对象存储中删除记录 onsuccess 事件被触发 但记录仍然存在 我的 ID 是一个时间戳 只是因为我想更快地实现一个工作应用程序 我硬编码了它
  • 是否值得在存储卡上安装 Compact Framework?

    随着应用程序的增长 我们的 Windows CE 设备上需要更多空间 我们安装了 SD 卡 从 SD 卡运行我们的应用程序速度很慢 如果从持久路径运行应用程序 则需求分页会出现一些严重问题 我们看到的唯一选择是在 SD 卡上安装 Compa
  • 应用程序包 (.abb) 大小大于 APK (.apk),不应该相反吗?

    代码实际上是相同的 我只是添加了一个类 是不是因为当 Bundle 安装在设备中时 只有一部分会转到该设备 并且它的大小会更小 来自docs https developer android com platform technology a
  • 运行 babel 时,方法的 JSdoc 在转译代码中丢失

    我正在使图书馆变得更加用户友好 让消费者在使用图书馆时看到文档 我有一个在构建时运行的脚本 babel src out dir dist quiet 这是我的 babelrc presets es2015 loose true module
  • 在具有 16 位 PCM 的 iOS 中生成音调,AudioEngine.connect() 会抛出 AUSetFormat:错误 -10868

    我有以下代码用于生成给定频率和持续时间的音频 它大致基于在 Android 上执行相同操作的这个答案 感谢 Steve Pomeroy https stackoverflow com a 3731075 973364 https stack
  • jquery 查找所有精确的 td 匹配

    servertable td eq server 这仅找到 1 个 我认为是第一个 匹配项 如何找到所有匹配项 顺便提一句 td contains 对我不起作用 eq期望数字索引仅返回一行 如果你想通过 td 的内容来匹配它 你必须使用 包
  • HBase 中类似 SQL LIMIT 的命令

    HBase 有没有类似的命令SQL LIMIT query 我可以这样做setStart and setEnd 但我不想迭代所有行 在 HBase shell 中 您可以使用 LIMIT hbase gt scan test table L
  • iPhone - 无法在 iOS 5.0.1 设备上从 XCode 运行应用程序,因为 iOS 从 5.0 更新

    我刚刚将 iPhone 更新到 iOS 5 0 1 XCode 不再将其识别为运行应用程序的有效设备 我已经去找组织者 将设备重置为开发设备 更新了我的组件和库 但仍然没有任何结果 该设备没有出现在主窗口弹出窗口的可用目的地中 我该如何在设
  • 我的免费送货是在加税后计算的

    我尝试设置 50 美元免运费 但当我添加总计达到 47 00 美元的产品时 税费将被取消并允许免运费 我不敢相信这是标准的 所以我一定有什么设置错误 我在联邦快递 FedEx 和美国邮政 USPS 承运商下设置了免费送货服务 我在配置 销售
  • Spring Boot IMAP 通道适配器在处理大量入站电子邮件时丢失电子邮件

    我有一个正在运行的 Spring boot 应用程序 它正在处理来自专用邮箱的电子邮件 当电子邮件数量有限时 在测试环境中一切都运行良好 在生产环境中 这些电子邮件是由计划作业生成的 有时一批中会有超过 10000 封电子邮件 每封电子邮件
  • 使用 Yii 下载文件

    我正在使用 Yii 框架 并且我有网站允许管理员上传文本文件或 pdf 现在我想允许用户单击链接并开始下载该文件 这在 Yii 框架内是如何实现的 我将文件存储在 Yiiapplication uploads downloads test
  • 会话变量在本地服务器上有效,但在托管服务器上无效

    我正在开发一个简单的 php mysql 讨论论坛 该声明 在我的本地计算机上产生了所需的结果 但是当我上传代码以实时测试论坛时 会话变量的值不再显示 可能是什么原因造成的 可能导致这种情况的一件事是 如果实时 Web 服务器位于使用默认
  • Django:用户登录时发出信号?

    在我的 Django 应用程序中 我需要在用户登录时开始运行一些定期后台作业 并在用户注销时停止运行它们 因此我正在寻找一种优雅的方法来 收到用户登录 注销的通知 查询用户登录状态 从我的角度来看 理想的解决方案是 每个发送的信号djang
  • Python - 找到两个图的所有交点

    我试图找到两个图的所有交点并将它们显示在最终的绘图上 我环顾四周并尝试了多种方法 但一直无法获得我想要的东西 目前 我尝试生成一个列表 其中将列出交点 但我不断收到以下错误 具有多个元素的数组的真值是不明确的 使用a any or a al
  • x64 上的 WMI 链接器错误

    我正在尝试使用 msdn 中的 WMI 示例 http msdn microsoft com en us library windows desktop aa384724 28v vs 85 29 aspx http msdn micros
  • 访问联合类型中的属性

    请考虑下面的简单联合类型示例 interface Alarm alarmText string quali number interface Car speed number type unionT Alarm Car var alarm
  • 使用迭代最近点 (ICP) 时如何在点云库 (PCL) 中标记 NULL 数据

    我正在尝试使用以下方法对齐 2 组点云迭代最近点 ICP 算法集成在点云库 PCL 我收到错误报告 指出找不到足够的对应点 我已经放宽了参数的条件 setEuclideanFitnessEpsilon 1 797e 5 setMaximum