为了简单起见,我将文件名硬编码为“image.jpg”。调整图像大小是为了提高速度:如果您不介意等待,请注释掉resize调用。当在这个{a3}上运行时,它通常说主色是{d8c865,它大致相当于两个辣椒左下角的亮黄色区域。我之所以说“通常”,是因为使用的clustering algorithm具有一定程度的随机性。有多种方法可以改变这一点,但对于你的目的,它可能很适合。(如果需要确定的结果,请查看kmeans2()变量上的选项。)from __future__ import print_function

import binascii

import struct

from PIL import Image

import numpy as np

import scipy

import scipy.misc

import scipy.cluster

NUM_CLUSTERS = 5

print('reading image')

im = Image.open('image.jpg')

im = im.resize((150, 150)) # optional, to reduce time

ar = np.asarray(im)

shape = ar.shape

ar = ar.reshape(scipy.product(shape[:2]), shape[2]).astype(float)

print('finding clusters')

codes, dist = scipy.cluster.vq.kmeans(ar, NUM_CLUSTERS)

print('cluster centres:\n', codes)

vecs, dist = scipy.cluster.vq.vq(ar, codes) # assign codes

counts, bins = scipy.histogram(vecs, len(codes)) # count occurrences

index_max = scipy.argmax(counts) # find most frequent

peak = codes[index_max]

colour = binascii.hexlify(bytearray(int(c) for c in peak)).decode('ascii')

print('most frequent is %s (#%s)' % (peak, colour))

注意:当我将集群的数量从5个扩展到10个或15个时,它经常给出绿色或蓝色的结果。给定输入图像,这些结果也是合理的。。。我也分不清哪种颜色在那张图片中占主导地位,所以我不怪算法!

还有一个小小的好处:只使用N种最常见的颜色保存缩小的图像:# bonus: save image using only the N most common colours

import imageio

c = ar.copy()

for i, code in enumerate(codes):

c[scipy.r_[scipy.where(vecs==i)],:] = code

imageio.imwrite('clusters.png', c.reshape(*shape).astype(np.uint8))

print('saved clustered image')

python中imag是什么意思_Python-在imag中查找主要/最常见的颜色相关推荐

  1. python处理pdf提取指定数据_python从PDF中提取数据的示例

    01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都 ...

  2. python编程试题单词倒排_Python:将句子中的单词全部倒排过来,但单词的字母顺序不变...

    早上看到好友未央的一篇博文<一道google的测试工程师笔试题>,内容如下: 这是去年面试google测试工程师的一道题,题目如下: 设计一个函数,使用任意语言,完成以下功能: 一个句子, ...

  3. python判断网页密码加密方式_Python模拟网页中javascript加密与验证的相关处理

    在做网络爬虫的过程中你是否一些在这方面做的很好的网站,你向知道他是通过哪些相关的操作做出这么好的网站,以下就是文章的相关内容的具体介绍,希望你浏览完下面的内容会有所收获.Python模拟网页的java ...

  4. python的发展及应用前景论文_Python在物联网中的应用与发展综述

    123 Python 在物联网中的应用与发展综述 陈光辉 (北京信息科技大学 自动化学院,北京 100091) 摘要:文章主要介绍了物联网的产生与发展和对人们生活与社会生产的促进作用,以及我国物联网发 ...

  5. python 列表中的数字转字符串_python 将列表中的字符串转为数字

    python 将列表中的字符串转为数字 转自:https://www.jb51.net/article/86561.htm 本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具 ...

  6. python拥有庞大的计算生态_Python稳定基础训练中的易出错概念问题1(包括答案和分析),稳基,修炼,之,计算机,等级,考试,易错,含答案,与,解析...

    文章目录 1.下列关于Python的描述正确的是___. A.代码的缩进错误导致的是逻辑错误 B.跳跃结构是Python的流程结构之一 C.Python支持的数据类型包括char.int和float等 ...

  7. python如何统计出现的次数_Python统计日志中每个IP出现次数的方法

    本文实例讲述了Python统计日志中每个IP出现次数的方法.分享给大家供大家参考.具体如下: 这脚本可用于多种日志类型,本人测试MDaemon的all日志文件大小1.23G左右,分析用时2~3分钟 代 ...

  8. python解非线性规划问题讲析_python中线性规划中的单纯形法、scipy库与非线性规划求解问题...

    单纯形法.scipy库与非线性规划求解问题 单纯形法的基本定义 大M法求解线性规划的原理 excel求解 Python调用optimize包和scipy求解线性规划 Python编程实现单纯形法 对比 ...

  9. python列表根据值找索引_python实现列表中由数值查到索引的方法

    python实现列表中由数值查到索引的方法 如下所示: 以上这篇python实现列表中由数值查到索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 时间: 201 ...

  10. python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)

    一.按帧提取 #coding=utf-8 import os import cv2 def save_img(): #提取视频中图片 按照每帧提取 video_path = r'D:\\test\\' ...

最新文章

  1. Python+OpenCV 图像处理系列(8)—— Numpy 对象及图像对象创建与赋值
  2. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质
  3. django引入现有数据库
  4. 视频 + PPT | 数字化运营,从理论到实践
  5. k8s部署nfs-client-provisioner完整实践版(亲测有效)
  6. list 用法总结2
  7. 原型共享数据 原型简单语法 原型中方法是可以相互访问 实例对象属性方法层层搜索
  8. web容器获取SSL指纹实现和ByPass
  9. Java集合---Arrays类源码解析
  10. 开发经验分享_06_前端开发技巧
  11. struts与spring整合方法copy
  12. postgresql linux rpm,postgresql 9.6 rpm包安装 CentOS 7.2 X64
  13. 自己用到的相关Linux命令,谨以记录
  14. redis desktop manager 集群_Redis Manager(2.0) —— Redis 运维利器
  15. Java Date实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1
  16. 深入浅出了解AUTOSAR Adaptive平台
  17. 瑕疵全记录,数据库毛刺问题的排查与解决
  18. windows系统使用cmd命令打开谷歌浏览器并设置用户资料方法步骤
  19. Gitee 自已提交的代码提交人头像却为他人
  20. 节能改造:空调系统节能改造方案及效果分析

热门文章

  1. React Native入门-实战解析(上)
  2. DTL autoescape
  3. Update join 修正数据
  4. IP地址0.0.0.0是什么意思?
  5. 什么是PaaS平台?一文看懂SaaS、PaaS和私有化部署的区别
  6. linux设置硬盘启动顺序,电脑双硬盘双系统启动的顺序调整及设置方法
  7. 各种格式的文件用什么软件打开
  8. uni-app - 解决 H5 微信公众号授权登录后,无法回退到 “上一页“ 的问题(微信登录后如何返回到触发它的那一页?无法通过 uni.navigateBack() 返回到前一页的问题?)详细教程
  9. 微信小程序调试过程中页面加载不出来
  10. 【六足】关于六足机器人运动学正逆解