Point Cloud Match
script
-
Cloud point match
- for greeb
x
- 高斯分布得到子集
- for red dot
- 随机抽样得到的子集
- other is total tie point
- Block 3 tie point
- 尝试多对多ICP
def match(pc_gps, pc_model, t):
scala = np.array([110959.71900894716, 90118.10182968706, 1])
target_pair = []
def distance(source, target):
return np.linalg.norm(scala * (source - t) - target, axis=1)
for i in tqdm(range(len(pc_gps)), desc="inner", leave=True):
dis = distance(source = pc_gps[i, :],
target = pc_model[:, :])
closest = np.argmin(dis)
target_pair.append(pc_model[closest, :])
return (((pc_gps[:, :] * scala) - target_pair)/scala).mean(axis=0)