最近想通过 KDTree 来实现最近邻搜索,进而实现对图片目标进行边界盒标注。但自己写太过复杂,看到有大佬介绍scipy包提供了KDTree的直接生成方法,于是尝试进行调用。调用代码如下:
leafsize = 2048
tree = scipy.spatial.KDTree(pts.copy(), leafsize=leafsize)
然鹅,出错:
Traceback (most recent call last):
File "D:/tanyacheng/Experiments/Crowd_Counting/Pre_coding/20210622/getH5.py", line 22, in <module>
tree = scipy.spatial.KDTree(pts.copy(), leafsize=leafsize)
AttributeError: module 'scipy' has no attribute 'spatial'
scipy无此属性?难道是python版本问题?换python版本太麻烦了,于是尝试自己琢磨尝试,最后虽然解决但是很魔幻。。。。
解决方法是:
import scipy.spatial as spatial
leafsize = 2048
tree = spatial.KDTree(pts.copy(), leafsize=leafsize)
这和直接导入scipy然后背调用方法难道有区别?可能是我对python的包机制了解不深,如果有清楚的大佬看到,还烦请告知。。。