ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

K-means聚类量化处理图片--Python

2019-08-23 10:42:04  阅读:253  来源: 互联网

标签:img means Python mp 聚类 model centers


被记住的永远是疯子!

import scipy.misc as sm
import sklearn.cluster as sc
import matplotlib.pyplot as mp
# 读取图片
img = sm.imread('../../data/flower.jpg',True)

# 针对img  基于kmeans实现图像量化
# 将x处理成array形式
x = img.reshape(-1,1)
# 构建K-means模型
model = sc.KMeans(n_clusters=4)
# 训练模型
model.fit(x)
label = model.labels_   # 每个样本的标签
# 获取聚类中心,并将其铺平
centers = model.cluster_centers_.ravel()
print(centers) # 查看centers的结构
# 生成新图片,将每个样本标签按每个聚类中心赋值,并转换成与img同维度
newimg = centers[label].reshape(img.shape)
#绘制图形
mp.figure('Quant',facecolor='lightgray')
mp.subplot(121)
mp.axis('off')# 关闭坐标系
mp.imshow(img,cmap='gray')
mp.subplot(122)
mp.axis('off')# 关闭坐标系
mp.imshow(newimg,cmap='gray')

mp.tight_layout()
mp.show()

图形结果:
左图为原图,右图为K-means聚类量化后的图形,便于存储。
在这里插入图片描述

标签:img,means,Python,mp,聚类,model,centers
来源: https://blog.csdn.net/a18612039484/article/details/100032251

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有