1. 应用K-means算法进行图片压缩
原图:

压缩后:


代码如下:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans
from sklearn.datasets import load_sample_image
import sys
img = load_sample_image("china.jpg")
print("原图片的大小:", img.size)
print("原图片占内存大小:", sys.getsizeof(img))
x = img.reshape(-1,3)
n = 64
model = KMeans(n)
pre = model.fit_predict(x)
colors = model.cluster_centers_
new_img = colors[pre].reshape(img.shape)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.imshow(img)
plt.show()
plt.imshow(new_img.astype(np.uint8))
plt.show()
print("压缩后图片的大小:", new_img.size)
print("压缩后的图片占内存大小:", sys.getsizeof(new_img))
2. 观察学习与生活中可以用K均值解决的问题。
从数据-模型训练-测试-预测完整地完成一个应用案例。
这个案例会作为课程成果之一,单独进行评分。
浙公网安备 33010602011771号