代码改变世界

图片压缩

2018-11-18 15:56  PM的世代  阅读(150)  评论(0编辑  收藏  举报
<br><br><br>from sklearn.datasets import load_sample_image

import matplotlib.pyplot as plt

from sklearn.cluster import KMeans

import numpy as np

flower=load_sample_image('flower.jpg')#原始图片

plt.imshow(flower)

plt.show()

 

image=flower[::3,::3]#降低原始图片的分辨率

plt.imshow(image)

plt.show()

 

#利用Kmeans对图片进行压缩

x=image.reshape(-1,3)#改变数组的形状

n_colors=64

model=KMeans(n_colors)

labels=model.fit_predict(x)

colors=model.cluster_centers_

new_image=colors[labels]

new_image=new_image.reshape(image.shape)

plt.imshow(new_image.astype(np.uint8))

plt.show()