【问题标题】:Use a KD Tree to search in fewer dimensions than the cloud使用 KD 树搜索比云更少的维度
【发布时间】:2016-09-18 00:11:01
【问题描述】:

我想使用 2D (xy) 标准在我的 3D (xyz) 中搜索点云。

即"查找 x=2 AND y=4 附近的所有点,不管它们的 Z 坐标如何"

从概念上讲,我认为我可以通过创建只考虑 x 和 y 的 KD 树来解决这个问题,但我似乎无论如何都找不到使用 PCL 工具来做到这一点。

有没有好的(已经写好的)方法来做到这一点?还是我必须实现自己的 [可能较慢] Kd 树?

【问题讨论】:

    标签: point-cloud-library


    【解决方案1】:

    如果您正在考虑使用 KD 树,那么您对检索到的点的数量或距离都会有一些限制。

    在你的情况下,这应该是距离,所以,你得到了(x-dx, x+dx) and (y-dy, y+dy)之间的点。

    在 pcl 中做到这一点的一种方法是使用pcl::getPointsInBox()

    在给定边界的盒子中获取一组点。

    参数

    cloud the point cloud data message
    min_pt    the minimum bounds
    max_pt    the maximum bounds
    indices   the resultant set of point indices residing in the box
    

    所以,如果你想得到 x(1.25, 1.75) 和 y(2.25, 2.75) 之间的点,你必须创建两个 MinMax 点,如下所示:

    PointMin(1.25, 2.25, min_z)
    PointMax(1.75, 2.75, max_z)
    

    min_z & max_z 可以设置为 (-15, 40) 的任意低和高,让您获得指定 (x,y) 范围内的所有点,而不考虑 (z)

    【讨论】:

    • 这会和 KD 树一样快吗?
    猜你喜欢
    • 2012-10-16
    • 2015-03-17
    • 2011-05-24
    • 2013-01-05
    • 2011-08-29
    • 2021-10-05
    • 2012-12-21
    • 2011-05-11
    • 2019-02-25
    相关资源
    最近更新 更多