gpt4 book ai didi

python - 使用 cKDTree 在一定距离内寻找最近的邻居并取这些邻居的平均值

转载 作者:行者123 更新时间:2023-11-28 17:23:41 26 4
gpt4 key购买 nike

我正在使用 python 脚本将两个大型(数百万个点)点云作为数组(“A”和“B”)读取。

我需要找到“A”中点的最近“B”邻居,但距离“A”中每个点 5 厘米以内。我还想对“A”中点的 5 厘米半径内的邻居进行平均。

有没有办法使用 cKTree 一次完成此操作,包括求平均值?

最佳答案

我不确定你想做什么,但如果我理解正确,你可以按照以下步骤操作:

# this are just random arrays for test
A = 20 * np.random.rand(1000, 3)
B = 20 * np.random.rand(1000, 3)

为每个点云计算一个 cKDTree

tree_A = cKDTree(A)
tree_B = cKDTree(B)

找出 A 中距离 B 中每个点至多 5 个单位的点:

# faster than loop + query_ball_point
neighbourhood = tree_B.query_ball_tree(tree_A, 5)

计算所有这些点组的平均值:

means = np.zeros_like(A)
for i in range(len(neighbourhood)):
means[i] = A[neighbourhood[i]].mean(0)

关于python - 使用 cKDTree 在一定距离内寻找最近的邻居并取这些邻居的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com