解决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 的相关文章

  • 如何获取 Highcharts 工具提示中的下一个点

    如何从工具提示格式化程序访问本系列的下一点 因为我想在两点之间求和 就像 this y next y 但我不知道如何访问下一点 这需要通过几个步骤完成 根据x value获取x index var index this series xDa
  • Java:按指定的角度值围绕另一个点旋转点

    我试图将 java 中的 2D 点围绕另一个具有指定度数值的点旋转 在本例中只是围绕点 0 0 旋转 90 度 Method public void rotateAround Point center double angle x cent
  • jQuery - 如何向图像添加标记

    我正在考虑如何向图像添加一些标记 我的意思是像谷歌地图中的东西 地点标记 我有一个图像 如果用户单击该图像 我想在用户单击的那个地方添加一些其他图像 例如 如果用户单击图像中的 3 个位置 我想在这 3 个位置上添加我的图像 我知道 如何获
  • 多边形内的点到多边形边的距离

    我正在使用 NLCD 数据研究大片区域 7 个森林和非森林州 在一些森林地区有一个地块 这是我正在研究的硕士论文 我用这个庞大的数据集难倒了我问过的每个人 但我们确信有一个解决方案 森林 非森林区域是有符号的离散栅格 我能够通过对森林区域进
  • SQL Server 2008 是否支持 CREATE ASSERTION 语法?

    SQL Server 2008是否支持CREATE ASSERTION syntax 我一直无法找到一个直接的答案 否 SQL Server 2008 不支持此语法
  • 确定点是否位于 3D 网格内部的算法

    用于确定点是否位于 3D 网格内部的快速算法是什么 为简单起见 您可以假设网格都是三角形并且没有孔 到目前为止我所知道的是 确定光线是否穿过网格的一种流行方法是计算光线 三角形相交的数量 它必须很快 因为我正在使用它进行触觉医学模拟 所以我
  • 测试点是否在匹配的引号之间 (emacs lisp)

    我们如何检查是否 point 在匹配的 引号 内 示例 1 point 但不在范围之内 示例 2 此处引用 point 那里引用 在 Emacs Lisp 中 您正在寻找的是syntax ppss 定义于syntax el 它返回 10 个
  • 什么是接口断言?

    我刚刚遇到了这段代码 type Logger interface Debug msg string keyvals interface error Info msg string keyvals interface error Error
  • Zend ACL 动态断言

    我想限制我的用户只能编辑 删除他们添加的评论 我在 youtube 上找到了一个名为 intergral30 的人的示例 并按照他的指示进行操作 现在我的管理员帐户可以编辑 删除所有内容 但我的用户无权访问他自己的评论 这是代码 资源 cl
  • 从 3 个点检索正角或负角

    我正在围绕二维空间中的中心点旋转点 这些点是中心点 旧鼠标位置和新鼠标位置 我的旋转功能运行良好 我可以完美地计算角度 但如果用户沿应解释为逆时针方向移动鼠标 我想计算负角度 例如 如果您位于 小于 中心点的 y 值之上 小于 则向右 正
  • 在这种情况下溢出意味着什么?

    我找到了一种以模数相乘的算法 下一个伪代码取自维基百科 页面模指数 部分从右到左的二进制方法 完整的伪代码是 function modular pow base exponent modulus Assert modulus 1 modul
  • 使用reflect.Typeof()进行golang类型断言

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

    使用是否存在性能或代码维护问题assert作为标准代码的一部分而不是仅将其用于调试目的 Is assert x gt 0 x is less than zero 比更好或更差 if x lt 0 raise Exception x is l
  • 故事板的多个入口点

    我需要在启动时在 AppDelegate 中做出一系列决定 根据这些决定的结果 我需要转到故事板的特定部分 所以我的问题是 在不使用任何导航或选项卡控制器的情况下 我如何转到故事板的特定部分 OR 唯一受支持的选项是否具有多个故事板 对于每
  • 为什么 java.awt.Point 提供了设置和获取双精度数的方法,但将 x 和 y 存储为 int?

    正如您在 Oracle 文档中看到的java awt Point http docs oracle com javase 6 docs api java awt Point html x 和 y 存储为int 然而 getX and get
  • 为什么在绘制 API 中,origin 通常位于左上角,而逻辑上本机 GL 位于左下角?

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

    在 Haskell 中表示有限自动机的好方法是什么 它的数据类型是什么样的 在我们学院 自动机被定义为 5 元组 Q X delta q 0 F 其中 Q 是自动机状态的集合 X 是字母表 这部分是否必要 delta 是从 Q X 获取 2
  • Java - 点在线

    我如何找出点 x y 是否位于其他两个点之间创建的线上 我尝试了这个 但似乎有些问题 因为我没有得到我应该得到的结果 public boolean intersects Point k Point z Point p Line2D line
  • 在 Python 的内置数字类型上,repr 和 str 总是相同吗?

    Are repr and strPython 内置数字类型相同 int bool float and complex 或者是否存在 深奥的 两者可能产生不同结果的情况 SO的相关问题 例如this one https stackoverfl
  • jUnit 中的 CollectionAssert?

    是否有与 NUnit 并行的 jUnit 使用 JUnit 4 4 您可以使用assertThat 与Hamcrest http hamcrest org JavaHamcrest 代码 不用担心 它是随 JUnit 一起提供的 不需要额外

随机推荐