解决PCL报错: Assertion `point_representation_->isValid (point) && “Invalid (NaN, Inf) point coordinates

2023-05-16

参考资料:

  1. https://github.com/PointCloudLibrary/pcl/blob/master/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp
  2. https://blog.csdn.net/AileenNut/article/details/80170146

先说结论: 如果在使用PCL库时遇到了上述报错, 很有可能是程序中调用nearestKSearch()函数处出现了Nan点, 需要对这些点进行剔除或跳过处理.

  1. 首先, 需要定位到出错的代码, 这里调用了nearestKSearch()
  2. 其次, 可以在函数nearestKSearch()之前打印出nearestKSearch()中第一个参数的内容, 以确定是否是出现了Nan点, 进而导致程序终止, 如:
std::cout << "point value: " << point.x << " " << point.y << " " << point.z << " " << point.intensity << std::endl; 

若是出现了Nan点导致的程序挂掉, 那么需要对这些点进行剔除或跳过处理. 剔除的方式可以参考此博客, 这里提供一种跳过处理的方式:

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

解决PCL报错: Assertion `point_representation_->isValid (point) && “Invalid (NaN, Inf) point coordinates 的相关文章

  • 如何在顶点着色器中使用计时器来为 OpenGL 中的点大小设置动画

    我正在尝试实现一个点云 其中不同点的大小应根据与其相关的不确定性值而变化 比方说 如果这个值为零 则大小应该是恒定的 如果它接近 1 则这些点的半径应该变化得越来越大 首先 点的大小应该增加 并且在达到最大值后 它们应该减小直到最小值 依此
  • matplotlib.Path.contains_points:“半径”参数定义不一致

    Problem 函数中的radius参数包含 pointmatplotlib path定义不一致 此函数检查指定点是否位于闭合路径的内部或外部 半径参数用于使路径变小 变大 取决于半径的符号 这样 可以将靠近路径的点纳入考虑 不考虑 问题是
  • jQuery - 如何向图像添加标记

    我正在考虑如何向图像添加一些标记 我的意思是像谷歌地图中的东西 地点标记 我有一个图像 如果用户单击该图像 我想在用户单击的那个地方添加一些其他图像 例如 如果用户单击图像中的 3 个位置 我想在这 3 个位置上添加我的图像 我知道 如何获
  • Matlab:我在 3D 图中有两个点,我想用一条线将它们连接起来

    我有一个 3D 图和两个点坐标 A 0 0 0 和 B 13 11 19 我只想绘制一条连接这两点的可见线 我尝试了plot3 0 0 0 13 11 19 和其他东西 但我尝试的一切都惨败了 就是这样 Your two points P1
  • 收到奇怪的调试器消息:断言失败:(cls),函数 getName:这是什么?

    由于我从 Xcode 3 2 3 升级到 3 2 4 从 iOS 4 0 1 升级到 iOS 4 1 SDK 当我在代码中设置断点并单步执行指令时 在每一步中 调试器都会吐出一个或多个线 Assertion failed cls funct
  • 对 pcl::StatisticalOutlierRemoval 滤波器的理解

    对 pcl StatisticalOutlierRemoval 滤波器的理解 注 以下内容基于与 GPT 4 的交流并结合个人理解整理而成 若有描述不准确或模糊之处 欢迎指正 参数配置 setMeanK int meanK 此参数设置每个点
  • Delphi:如何在不使用断言的情况下获取(当前代码行,当前单元,当前函数)?

    我正在尝试在我的程序上创建一个日志系统 它将在文本文件上记录调试消息 并且我想保存代码中调用日志消息的确切位置 但我不想使用 Assert 函数 因为它会创建异常 这个系统不仅仅用于记录异常 我还必须编写一些调试信息 使用断言的示例 pro
  • 使用 PointToScreen 在 wpf 中查找控件的位置

    我正在尝试在主窗口内找到用户控件的相对坐标 我尝试使用 Control PointToScreen 方法 但没有成功 每次我这样做时 我都会收到一个异常 System InvalidOperationException 此视觉对象未连接到P
  • 有没有 Android 视图生命周期的图形表示(状态图)? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们都知道AndroidActivity的生命周期 http developer android com
  • 如何将两个坐标列转换为一列 Shapely 点

    我正在尝试对整个列执行操作 但出现类型错误 我想创建一个包含匀称点 https shapely readthedocs io en latest manual html points crime df crime df crime df L
  • 使用reflect.Typeof()进行golang类型断言

    我试图用字符串值 名称 来识别结构 reflect TypeOf回报Type 但是类型断言需要一个type 我怎样才能铸造Type to type 或者有什么建议可以处理吗 http play golang org p 3PJG3YxIyf
  • 故事板的多个入口点

    我需要在启动时在 AppDelegate 中做出一系列决定 根据这些决定的结果 我需要转到故事板的特定部分 所以我的问题是 在不使用任何导航或选项卡控制器的情况下 我如何转到故事板的特定部分 OR 唯一受支持的选项是否具有多个故事板 对于每
  • 为什么在绘制 API 中,origin 通常位于左上角,而逻辑上本机 GL 位于左下角?

    我注意到很多绘图 API 的 0 0 原点位于左上角 因此 y 实际上随着增加而下降 我想知道这是为什么 不工作在我个人认为更符合逻辑的左下角 常规 x y 网格的原点 也恰好是硬件渲染 API 中坐标的本机表示 有什么特别的优势吗 或者它
  • 如何在JavaScript中计算3点之间的角度? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在 JavaScript 中获取 3 点之间的角度 如果我有积分A x1 y1 B x2 y2 and C x3 y3 我想得到由线A
  • Java - 点在线

    我如何找出点 x y 是否位于其他两个点之间创建的线上 我尝试了这个 但似乎有些问题 因为我没有得到我应该得到的结果 public boolean intersects Point k Point z Point p Line2D line
  • mysql 查询多边形内的点 - 没有结果

    我很确定我在这里做错了很多事情 但我不确定是什么 该表 减去一些字段 CREATE TABLE IF NOT EXISTS stuff id int 10 unsigned NOT NULL AUTO INCREMENT lat decim
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 我如何在 Cypress 中使用软断言

    我已经从 npm 配置了软断言 npm i soft assert 现在我的 package josn 有 soft assert 0 2 3 我想使用软断言功能 softAssert actual expected msg ignoreK
  • 有向无环图的人类可读文本表示

    一棵树有一堆人类和机器可读的文本表示 例如嵌套列表 以各种表示形式 例如 JSON 和 YAML 和 XML 与缩进相结合 它们使我们很容易想象得到的结构 但我没有看到任何具有相同水平可读性的东西有向无环图 https en wikiped
  • MySQL Spatial CONTAINS 显示错误结果

    我的 MySQL 空间搜索有一个奇怪的行为 我在 GEOM 字段 葡萄牙边界 中创建了一个多边形 然后我尝试在内部找到一个点 发现没问题 下一次尝试是查找多边形外部的点 但查询仍返回 1 个找到的行 请帮忙 我做错了什么 为什么它会找到多边

随机推荐