zoukankan      html  css  js  c++  java
  • KMeams算法应用:图片压缩与贝叶斯公式理解

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

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

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

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

    形成新的图片。

    from sklearn.datasets import load_sample_image
    import matplotlib.pyplot as plt
    from sklearn.cluster import KMeans
    import numpy as np
    flower=load_sample_image('flower.jpg')#原始图片
    plt.imshow(flower)
    plt.show()
    
    image=flower[::3,::3]#降低原始图片的分辨率
    plt.imshow(image)
    plt.show()
    
    #利用Kmeans对图片进行压缩
    x=image.reshape(-1,3)#改变数组的形状
    n_colors=64
    model=KMeans(n_colors)
    labels=model.fit_predict(x)
    colors=model.cluster_centers_
    new_image=colors[labels]
    new_image=new_image.reshape(image.shape)
    plt.imshow(new_image.astype(np.uint8))
    plt.show()

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

    #观察原始图片和新图片的内存大小
    import sys
    print(sys.getsizeof(flower))
    print(sys.getsizeof(new_image))

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

    理解贝叶斯定理:

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

  • 相关阅读:
    JS模板引擎 :ArtTemplate (2)
    JS模板引擎 :ArtTemplate (1)
    nodeJs 初探 ~
    javascript高级函数
    Js高程笔记->引用类型
    html5离线存储
    (摘抄)HTTP 协议详解
    cordova /phonegap 自定义插件
    phonegap/cordova常用命令
    phonegap上传以及下载图片
  • 原文地址:https://www.cnblogs.com/zxcv11/p/9888428.html
Copyright © 2011-2022 走看看