如何在图像距离矩阵中查找指定索引的最邻近图像(Python实现)
查找距离矩阵中指定索引的最邻近图像索引
基于你已生成的distanceMatrix,可以通过以下步骤获取索引randomIdx对应的5个最邻近图像索引:
实现代码
import numpy as np # 提取目标索引对应的所有距离值 target_distances = distanceMatrix[randomIdx] # 对距离值从小到大排序,获取对应的原索引 sorted_indices = np.argsort(target_distances) # 排除自身(第一个索引为目标索引本身),取前5个最邻近的索引 top5_nearest_indices = sorted_indices[1:6] # 输出结果 print(f"索引 {randomIdx} 的5个最邻近图像索引:{top5_nearest_indices}")
关键说明
np.argsort(target_distances):返回距离值从小到大排序后的原数组索引,排序后的第一个索引必然是randomIdx自身(因为自身距离为0)sorted_indices[1:6]:跳过自身,截取后续5个索引,即为距离最近的5个图像的索引- 如果需要调整最邻近的数量,只需修改切片的结束位置即可(比如取前10个就用
[1:11])
内容的提问来源于stack exchange,提问作者C.Unbay
相关产品推荐
相关产品推荐

