博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.1作业
阅读量:7289 次
发布时间:2019-06-30

本文共 1670 字,大约阅读时间需要 5 分钟。


读取一张示例图片或自己准备的图片,观察图片存放数据特点。

根据图片的分辨率,可适当降低分辨率。

再用k均值聚类算法,将图片中所有的颜色值做聚类。

然后用聚类中心的颜色代替原来的颜色值。

形成新的图片。

观察原始图片与新图片所占用内存的大小。

将原始图片与新图片保存成文件,观察文件的大小。

from sklearn.datasets import load_sample_imagefrom sklearn.cluster import KMeansimport matplotlib.pyplot as pltimport numpy as np#load_sample_image包的示例图片加载china = load_sample_image("china.jpg")plt.imshow(china)plt.show()print(china.shape)flower = load_sample_image("flower.jpg")plt.imshow(flower)plt.show()print(flower.shape)plt.imshow(flower[:,:,0])   #改变图片色调,使图片失真plt.show()

 

 

# mtaplotlib加载图片import matplotlib.image as imglm = img.imread("C:\\Users\\PC\\Desktop\\tp\\lm.jpg")     #读入图片路径plt.imshow(lm)plt.show()print(lm.shape)lms = lm[::3,::3]   #降低分辨率plt.imshow(lm)plt.show()X = lms.reshape(-1,3)   # 重造数组n_colors= 64  #(256,256,256)model= KMeans(n_colors)labels = model.fit_predict(X)    #每个点的颜色分类,0-63colors = model.cluster_centers_   #64个聚类中心,颜色值print(lm.shape,lms.shape,X.shape)

#聚类n_colors= 64  #(256,256,256)model= KMeans(n_colors)labels = model.fit_predict(X)    #每个点的颜色分类,0-63colors = model.cluster_centers_   #64个聚类中心,颜色值# 以colors作为主体,labels作为下标,每个元素都替换成相应类别对应的中心值new_lms = colors[labels]# 还原成原来的维度并转换数据类型new_lms = new_lms.reshape(lms.shape)plt.imshow(new_lms.astype(np.uint8))plt.showplt.imshow(lms);plt.show()

#保存图片plt.imsave('C:\\Users\\PC\\Desktop\\tp\\lm.jpg',lm)plt.imsave('C:\\Users\\PC\\Desktop\\tp\\lms.jpg',lms)import sys# 压缩前后对比size1 = sys.getsizeof('C:\\Users\\PC\\Desktop\\tp\\lm.jpg')size2 = sys.getsizeof('C:\\Users\\PC\\Desktop\\tp\\lms.jpg')print('压缩前:'+str(size1),"\t压缩后:"+str(size2))

 

 

 

理解贝叶斯定理:

  • M桶:7红3黄
  • N桶:1红9黄
  • 现在:拿出了一个红球
  • 试问:这个红球是M、N桶拿出来的概率分别是多少?

 

 

转载于:https://www.cnblogs.com/Tlzlykc/p/9906478.html

你可能感兴趣的文章
开源存储
查看>>
sqlplus乱码
查看>>
CodeForces 213C Relay Race :从左上角到右下角再返回,每个价值计算一次,问最多收集价值 :dp...
查看>>
EFCore中SQLSERVER 2008 的分页问题
查看>>
Python中变量的绑定,或者说引用
查看>>
第一天。
查看>>
css 颜色渐变
查看>>
aaronyang的百度地图API之LBS云与.NET开发 Javascript API 2.0【把数据存到LBS云2/2】
查看>>
SparkMLlib聚类学习之KMeans聚类
查看>>
如果让莎士比亚、海明威编写JavaScript代码
查看>>
每日一“酷”之bisect
查看>>
Inherits、CodeFile、CodeBehind的区别
查看>>
用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
查看>>
802.3标准
查看>>
java爬虫笔记
查看>>
JSP导入EXCEL样式
查看>>
2.Hadoop集群安装进阶
查看>>
java研发工作组环境架设
查看>>
代码片收集
查看>>
网站备案与备案注销
查看>>