【问题标题】:Compute distances of points relatively to reference point cloud计算点相对于参考点云的距离
【发布时间】:2021-07-14 00:01:42
【问题描述】:

点云到点云的距离可以简单地使用最近邻距离计算。问题是最近的邻居不一定是由云表示的表面上的实际最近点。特别是在我们的例子中:参考云的密度很低。在这种情况下,使用了插值技术(伪代码):

from scipy import interpolate
import numpy as np

ref_point_cloud = np.load("ref_point_cloud.npy").item() # Grid
f = interpolate.interp2d(ref_point_cloud['x'], ref_point_cloud['y'], ref_point_cloud['z'], kind='linear', copy=False, bounds_error=True)

#### Read dense point cloud (point_cloud_dense) code here ####

for point in point_cloud_dense:
    distance = abs(f(point(x), point(y)) - ref_point_cloud['z'])

插值似乎是一种耗时的技术,但它确实有效。是否有更省时的技术来计算点相对于参考点云的距离?

最终目标:使用只有地面点的参考点云从密集的 MLS 点云中移除地面点。距离阈值将决定一个点是否属于地表。

参考: https://www.cloudcompare.org/doc/wiki/index.php?title=Cloud-to-Cloud_Distance https://pointclouds.org/documentation/tutorials/kdtree_search.html

【问题讨论】:

    标签: python point-cloud-library point-clouds


    【解决方案1】:

    你可以得到 k 个最近的邻居,在它们上面安装一个平面并计算点到平面的距离。

    【讨论】:

      猜你喜欢
      • 2022-01-08
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2021-06-26
      • 2011-09-19
      相关资源
      最近更新 更多