zoukankan      html  css  js  c++  java
  • K-means算法应用:图片压缩

    1. from sklearn.datasets import load_sample_image
      from sklearn.cluster import KMeans
      import matplotlib.pyplot as plt
      
      china = load_sample_image("china.jpg")
      plt.imshow(china)
      plt.show()
      china.shape
      

       运行结果:                                                                                                                                  

    2. import matplotlib.image as img
      cc = img.imread('C:\Users\HY\Pictures\cc.jpg')
      plt.imshow(cc)
      plt.show()
      

       运行结果:                                                                                                                                     

    3. plt.imshow(cc[:,:,0])  #提取第三列颜色
      plt.show
      

       运行结果:                                                                                                                                                                                   

    4. print(cc.shape)
      cc
      

       运行结果:                                                                                                               

    5. image = cc[::3, ::3]  #降低分辨率
      X = image.reshape(-1,3)
      
      import numpy as np
      print(cc.shape,image.shape,X.shape)  #输出分辨率
      n_colors = 64 #(256,256,256)
      model = KMeans(n_colors)
      labels = model.fit_predict(X)   #每个点的颜色分类,0-63
      colors = model.cluster_centers_  #64个聚类中心,颜色值
      plt.imshow(image);
      plt.show()
      plt.imshow(image.astype(np.uint8))
      plt.show()
      

       运行结果:                                                                                                                                               

    6. import sys
      plt.imsave('C:\Users\HY\Pictures\image.jpg',image)  #保存图片
      plt.imsave('C:\Users\HY\Pictures\cc.jpg',cc)
      p1_size = sys.getsizeof('C:\Users\PC\Desktop\tp\cc.jpg')  #压缩前后对比
      p2_size = sys.getsizeof('C:\Users\PC\Desktop\tp\image.jpg')
      print('压缩前:'+str(p1_size),"	压缩后:"+str(p2_size))
      

       运行结果: #保存在C:Users\HYPictures  路径下的cc,image图                                                                                                                                                                                   

    7.  在M、N桶里分别抽出红球的概率运算结果如下图

               

  • 相关阅读:
    用phpStudy来安装织梦cms,dedecms的本地测试
    如何不给花一分钱,关键词怎么霸屏百度首页?
    关键词挖掘工具_关键词拓展工具集合
    如何用iframe在网页中插入另一个网页的一部分内容,做成页中页
    mysql数据库中如何修改已建好的表中的【列名】【列的属性】
    为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧
    php 构造函数格式,具体该怎么写?应该注意什么呢?
    win7(64位)php5.5-Apache2.4-mysql5.6环境安装
    JS滑动
    Codeforces Round #450 (Div. 2) C. Remove Extra One 题解
  • 原文地址:https://www.cnblogs.com/MIS-67/p/9912505.html
Copyright © 2011-2022 走看看