K-means算法应用:压缩图片
生活随笔
收集整理的這篇文章主要介紹了
K-means算法应用:压缩图片
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
from sklearn.datasets import load_sample_image
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
#讀取一張示例圖片或自己準(zhǔn)備的圖片,觀察圖片存放數(shù)據(jù)特點
china = load_sample_image("china.jpg")
plt.imshow(china)
plt.show()
print(china.shape)
china #根據(jù)圖片的分辨率,適當(dāng)降低分辨率
image= china[::3,::3]#降低分辨率
X = image.reshape(-1,3)
plt.imshow(image)
plt.show()
print(image.shape,X.shape) #用k均值聚類算法,將圖片中所有顏色值做聚類。
n_color =64
model= KMeans(n_color)
labels=model.fit_predict(X) #每個點的顏色分類
color=model.cluster_centers_ #64個聚類中心,顏色值
?
#用聚類中心的顏色代替原來顏色,形成新圖片 color[labels] images=image.reshape(143, 214, 3) print(images.shape) plt.imshow(images) plt.show() #查看原始圖片與新圖片所占用內(nèi)存的大小 import sys print(sys.getsizeof(china)) print(sys.getsizeof(images)) #將原始圖片與新圖片保存文件,觀察文件大小 import matplotlib.image as img img.imsave("C:\\china.jpg",china) img.imsave("C:\\china_zip.jpg",images)?
?
轉(zhuǎn)載于:https://www.cnblogs.com/nuan-z/p/9888355.html
總結(jié)
以上是生活随笔為你收集整理的K-means算法应用:压缩图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷1226快速幂模板
- 下一篇: hibernate操作mysql中文乱码