Python 2.7 python中基于k均值聚类的图像分割

Python 2.7 python中基于k均值聚类的图像分割,python-2.7,image-processing,cluster-analysis,Python 2.7,Image Processing,Cluster Analysis,我一直在试图找出如何在Python模块(如skimage或scipy)中通过K-means聚类来分割图像。我找到一个密码 当我尝试为我的图像运行代码时,python解释器停止响应 另外,我不理解上述链接中代码的下采样部分。 请告诉我怎么做 代码是正确的(对我来说很好)。它只是需要时间,完成(在我的笔记本电脑上80秒)。也许你需要像lena一样的灰度图像 用于下采样 lena = sp.misc.lena() print np.shape(lena) print np.shape(lena[::2

我一直在试图找出如何在Python模块(如skimage或scipy)中通过K-means聚类来分割图像。我找到一个密码

当我尝试为我的图像运行代码时,python解释器停止响应

另外,我不理解上述链接中代码的下采样部分。 请告诉我怎么做

代码是正确的(对我来说很好)。它只是需要时间,完成(在我的笔记本电脑上80秒)。也许你需要像lena一样的灰度图像

用于下采样

lena = sp.misc.lena()
print np.shape(lena)
print np.shape(lena[::2, ::2])   # lena[0,0], lena[0,2], lena[0,4], lena[0,6]
print np.shape(lena[1::2, ::2])  # lena[1,0], lena[1,2], lena[1,4], lena[1,6]
print np.shape(lena[::2, 1::2])  # lena[0,1], lena[0,3], lena[0,5], lena[0,7]
print np.shape(lena[1::2, 1::2]) # lena[1,1], lena[1,3], lena[1,5], lena[1,7]

# lena[0,0], lena[0,2], lena[0,4], lena[0,6], ...
#   +      ,   +      ,   +      ,   +      ,  +
# lena[1,0], lena[1,2], lena[1,4], lena[1,6], ...
#   +      ,   +      ,   +      ,   +      ,  +
# lena[0,1], lena[0,3], lena[0,5], lena[0,7], ...
#   +      ,   +      ,   +      ,   +      ,  +
# lena[1,1], lena[1,3], lena[1,5], lena[1,7], ...
#   =      ,   =      ,   =      ,   =      ,  =
# lena[0,0], lena[0,1], lena[0,2], lena[0,3], ...


lena = lena[::2, ::2] + lena[1::2, ::2] + lena[::2, 1::2] + lena[1::2, 1::2]
print 'Shape :', np.shape(lena)
lena = lena[::2, ::2] + lena[1::2, ::2] + lena[::2, 1::2] + lena[1::2, 1::2]
print 'Shape :', np.shape(lena)

我试图用这段代码减少采样,并为我的图像获得以下输出和错误:输出:(1571L,1571L)(786L,786L)(785L,786L)(786L,785L)(785L,785L)和错误:值错误:操作数不能与形状(786786)(785786)一起广播嗨,有了这段代码,你需要一个具有成对形状的图像。像这样裁剪图像:image=image[0:1570,0:1570]研究并理解代码,而不是盲目地运行它。尤其要注意可伸缩性。