Python Scipy.cluster.vq.kmeans“;“列表没有属性形状”;
所以这是我遇到的一个非常奇怪的问题。我基本上是在尝试创建一个实践代码本,它使用由Python中的kmeans算法聚类的图像的SIFT特性。但是,每当我运行代码时,就会出现以下错误Python Scipy.cluster.vq.kmeans“;“列表没有属性形状”;,python,scipy,Python,Scipy,所以这是我遇到的一个非常奇怪的问题。我基本上是在尝试创建一个实践代码本,它使用由Python中的kmeans算法聚类的图像的SIFT特性。但是,每当我运行代码时,就会出现以下错误 Traceback (most recent call last): File "C:\Users\Administrator\Desktop\Python\assignment2\SIFT_Dectection.py", line 34, in <module> codebook, di
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\Python\assignment2\SIFT_Dectection.py", line 34, in <module>
codebook, dis = cluster.vq.kmeans(codebook_construction(files[:20]),3)
File "C:\Python27\lib\site-packages\scipy\cluster\vq.py", line 513, in kmeans
No = obs.shape[0]
AttributeError: 'list' object has no attribute 'shape'
那里的glob函数需要一个我从加州理工学院下载的图像库。我到处寻找答案,但似乎没有人遇到过类似的问题。希望我能在这里得到一些指导问题似乎是
kmeans
需要一个数组,而您正在向它提供一个列表。尝试将codebook\u construction()
函数的最后一行更改为:
return scipy.array(codebook)
return scipy.array(codebook)