对于每个点,都计算了离它最近的点的距离,
由此可以得知这堆点云的所有点之间的平均距离。
根据这个平均距离,可以用来估算一些其他算法的半径参数,距离参数,
比如法向量计算的领域距离参数,距离的距离阈值参数。
另外,采样设备不同、设备距离场景远近不同,会使点云密度产生差异。
现有的对点云密度的估算方法大多是基于距离的方法。
基于距离的平均距离密度密度表示法是通过计算点云各点的距离平均值
来估算点云分布疏密程度。
# coding:utf-8
import numpy as np
import open3d as o3d
print("->正在加载点云... ")
point_cloud = o3d.io.read_point_cloud("gongjian1.pcd")
print(point_cloud)
# 对于每个点,都计算了离他最近的点的距离,由此可以得知这堆点云的所有点之间的平均距离
distances = point_cloud.compute_nearest_neighbor_distance()
avg_dist = np.mean(distances)
print("avg_dist ", avg_dist)
# output : avg_dist 1.4646226417514927