代碼: import numpy as np
import PIL.Image as image
from sklearn.cluster import KMeansdef loadData(filePath):f=open(filePath,'rb')data=[]img=image.open(f)m,n=img.size;print(m,n)for i in range(m):for j in range(n):x,y,z=img.getpixel((i,j))#print(z,y,z)data.append([x/256.0,y/256.0,z/256.0])f.close()return np.mat(data),m,nimgData,row,col=loadData("E:\\python\small_split.jpg")
km=KMeans(n_clusters=3)label=km.fit_predict(imgData)
label=label.reshape([row,col])pic=image.new("L",(row,col))
for i in range(row):for j in range(col):pic.putpixel((i,j),int(256/(label[i][j]+1)))
pic.save("splited.jpg","JPEG")'''實(shí)驗(yàn)分析:通過(guò)設(shè)置k的值,可以得到不同結(jié)果,同時(shí)由于k的不確定,也可能得不到預(yù)期結(jié)果。
'''