from sklearn.datasets import load_sample_image#先导入数据包
china = load_sample_image("china.jpg")#从包中拿出china那那张图
print(china.shape)
china
array([[[174, 201, 231],
[174, 201, 231],
[174, 201, 231],
...,
[250, 251, 255],
[250, 251, 255],
[250, 251, 255]], [[172, 199, 229],
[173, 200, 230],
[173, 200, 230],
...,
[251, 252, 255],
[251, 252, 255],
[251, 252, 255]], [[174, 201, 231],
[174, 201, 231],
[174, 201, 231],
...,
[252, 253, 255],
[252, 253, 255],
[252, 253, 255]], ..., [[ 88, 80, 7],
[147, 138, 69],
[122, 116, 38],
...,
[ 39, 42, 33],
[ 8, 14, 2],
[ 6, 12, 0]], [[122, 112, 41],
[129, 120, 53],
[118, 112, 36],
...,
[ 9, 12, 3],
[ 9, 15, 3],
[ 16, 24, 9]], [[116, 103, 35],
[104, 93, 31],
[108, 102, 28],
...,
[ 43, 49, 39],
[ 13, 21, 6],
[ 15, 24, 7]]], dtype=uint8)

  

import matplotlib.pyplot as plt#导入画图的包
plt.imshow(china)#imshow函数
plt.show()#显示

  

plt.imshow(china[:,:,0])#所有行,列,按第一的颜色排列
plt.show()

  

plt.imshow(china[:,:,0],plt.cm.gray)#添加灰色
plt.show()

  

 

  

import sys
sys.getsizeof(china)
819968
image=china[::3,::3]#将间隔扩大为3*3倍
image.shape
plt.imshow(image)
plt.show()

  

x=image.reshape(-1,3)

  

from sklearn.cluster import KMeans#导入kmeans包
import numpy as np
model=KMeans(n_clusters=64)#设中心点为64
b=model.fit_predict(x)#预测处理
a=model.cluster_centers_#求均值找中心点
new_image=a[b]#靠近的聚合
new_image=new_image.reshape(image.shape)
plt.imshow(new_image.astype(np.uint8))#改成int
plt.show()

  

import sys
import matplotlib.image as img
sys.getsizeof(new_image)

  

128
#图片保存
import matplotlib.image as img
img.imsave('e://01.jpg',china)
sd=img.imread('e://01.jpg')#导入图片数据
sd.shape
plt.imshow(sd)
plt.show()

pb=8/20
pa=1/2
pba=7/10
pab=(7/10*1/2)/(8/20)
print(pab)
cc=1-pab
print(cc)
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 02:47:15) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
================== RESTART: C:/Users/lenovo/Desktop/sff.py ==================
>>>
================== RESTART: C:/Users/lenovo/Desktop/sff.py ==================
0.8749999999999999
>>>
================== RESTART: C:/Users/lenovo/Desktop/sff.py ==================
0.8749999999999999
0.1250000000000001
>>>

  

Kmeanns图片压缩的更多相关文章

  1. Golang 编写的图片压缩程序,质量、尺寸压缩,批量、单张压缩

    目录: 前序 效果图 简介 全部代码 前序: 接触 golang 不久,一直是边学边做,边总结,深深感到这门语言的魅力,等下要跟大家分享是最近项目 服务端 用到的图片压缩程序,我单独分离了出来,做成了 ...

  2. 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)

    涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...

  3. 前端构建工具之gulp(一)「图片压缩」

    前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

  4. gulp图片压缩

    gulp图片压缩 网页性能优化,通常要处理图片,尤其图片量大的时候,更需要工具来批量处理,这里使用gulp,做个简单总结 image-resize压缩尺寸 var gulp = require('gu ...

  5. Android 图片压缩、照片选择、裁剪,上传、一整套图片解决方案

    1.Android一整套图片解决方案 http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650820998&idx=1& ...

  6. Java中图片压缩处理

    原文http://cuisuqiang.iteye.com/blog/2045855 整理文档,搜刮出一个Java做图片压缩的代码,稍微整理精简一下做下分享. 首先,要压缩的图片格式不能说动态图片,你 ...

  7. android 图片压缩

    引用:http://104zz.iteye.com/blog/1694762 第一:我们先看下质量压缩方法: private Bitmap compressImage(Bitmap image) { ...

  8. HTML5 CANVAS 实现图片压缩和裁切

    原文地址:http://leonshi.com/2015/10/31/html5-canvas-image-compress-crop/?utm_source=tuicool&utm_medi ...

  9. C# 图片压缩

    /// <summary>        /// 图片压缩方法        /// </summary>        /// <param name="sF ...

随机推荐

  1. Java 8 默认方法

    转自:https://www.runoob.com/java/java8-default-methods.html Java 8 新增了接口的默认方法. 简单说,默认方法就是接口可以有实现方法,而且不 ...

  2. systemctl启动tomcat后,jps看不到进程

    centos7 写了tomcat的启动脚本,脚本从网上copy的. [Unit]Description=tomcat-1After=syslog.target network.target remot ...

  3. [Linux] umask 从三类人群的权限中拿走权限数字

      作用   umask 用来设置用户创建文件.目录的默认权限,通过从权限中拿走相应的位,格式 `umask nnn`.     理解   rwx rwx rwx 权限对应三类人群,所属人,所属组,其 ...

  4. 用 ghostscript 转化PDF文件为图片 的参数设置

    example: gswin32 -dSAFER -dBATCH -dNOPAUSE -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=jp ...

  5. neo4j性能调优(转)

    最近在公司实习做的就是优化neo4j图形数据库查询效率的事,公司提供的是一个在Linux上搭建且拥有几亿个节点的数据库.开始一段时间主要是熟悉该数据库的一些基本操作,直到上周才正式开始步入了优化数据库 ...

  6. JQUERY之表单验证案例

    <!-- 需求: 用户注册页面要有用户名.密码.确认密码.邮箱 用户名文本框:用户名不能为空,且必须为数字与字母的6到12位的组合 密码框:密码不能为空,六到八位数字或字母的组合 确认密码框:确 ...

  7. NABCD-课程表开发

    N:需求 1.学生录入课程需求. 2.学生对于空教室使用需求(自习或活动占用). 3.学生对于具体课程的查询需求. A:做法 基于安卓课程查询,录入系统. B:好处 1.满足课程表的基本需求 2.便于 ...

  8. 第一次C语言程序设计

    C语言程序实验报告 实验项目: 1.字符与ASCII码 2.运算符与表达式的应用 3.顺序结构应用程序 4.数学函数的算法描述 5.鸡兔同笼的算法描述 6.确定坐标的算法描述 姓名:张时锋 实验地点: ...

  9. react axios 配置

    1:package.json 添加        "proxy": "代理地址" 2  封装axios     创建server.js  添加 import a ...

  10. Java框架spring 学习笔记(十一):aop相关概念

    为什么要引入aop? 比如如下情景: 在父类的方法名称发送了变化,在子类调用的方法也需要变化,当工程规模越来越大的时候,维护起来相当不方便,于是就引入了横向切面aop. aop的相关概念: 连接点:类 ...