def color_differenciate(img:Image,k:int):
imgarr = img2array(img)
imgarr_r = imgarr.reshape((imgarr.shape[0] * imgarr.shape[1], 3))
clt =KMeans(n_clusters = k)
clt.fit(imgarr_r)
numLabels = np.arange(0, len(np.unique(clt.labels_)) + 1)
images=[]
for i in range(len(numLabels)):
images.append(np.ones(imgarr_r.shape,dtype=np.int32)*255)
for idx in range(len(clt.labels_)):
label=clt.labels_[idx]
images[label][idx][0]=imgarr_r[idx][0]
images[label][idx][1] = imgarr_r[idx][1]
images[label][idx][2] = imgarr_r[idx][2]
new_images=[]
for i in range(len(numLabels)):
new_img=array2img(images[i].reshape(imgarr.shape))
new_img.save('test_'+str(i)+'.jpg')
new_images.append(new_img)
return new_images
评论列表
文章目录