python实现从一组颜色中找出与给定颜色最接近颜色的方法


Posted in Python onMarch 19, 2015

本文实例讲述了python实现从一组颜色中找出与给定颜色最接近颜色的方法。分享给大家供大家参考。具体分析如下:

这段代码非常有用,可以找到指定颜色相似的颜色,比如有一组8个颜色,现在给定一个rgb格式的演示,找出它与8个颜色中的哪一个最接近,如果你需要做一个按照图片颜色搜索图片的程序,这个就非常有用了。

from colorsys import rgb_to_hsv

colors = dict((

((196, 2, 51), "RED"),

((255, 165, 0), "ORANGE"),

((255, 205, 0), "YELLOW"),

((0, 128, 0), "GREEN"),

((0, 0, 255), "BLUE"),

((127, 0, 255), "VIOLET"),

((0, 0, 0), "BLACK"),

((255, 255, 255), "WHITE"),))

def to_hsv( color ):

    """ converts color tuples to floats and then to hsv """

    return rgb_to_hsv(*[x/255.0 for x in color]) #rgb_to_hsv wants floats!

def color_dist( c1, c2):

    """ returns the squared euklidian distance between two color vectors in hsv space """

    return sum( (a-b)**2 for a,b in zip(to_hsv(c1),to_hsv(c2)) )

def min_color_diff( color_to_match, colors):

    """ returns the `(distance, color_name)` with the minimal distance to `colors`"""

    return min( # overal best is the best match to any color:

        (color_dist(color_to_match, test), colors[test]) # (distance to `test` color, color name)

        for test in colors)

color_to_match = (255,255,0)

print min_color_diff( color_to_match, colors)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
跟老齐学Python之重回函数
Oct 10 Python
详解Python核心对象类型字符串
Feb 11 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
python爬虫实例详解
Jun 19 Python
详解PyCharm安装MicroPython插件的教程
Jun 24 Python
Django框架视图层URL映射与反向解析实例分析
Jul 29 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
Pytest mark使用实例及原理解析
Feb 22 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
Python常用外部指令执行代码实例
Nov 05 Python
python遍历类中所有成员的方法
Mar 18 #Python
python获取图片颜色信息的方法
Mar 18 #Python
Python调用C语言开发的共享库方法实例
Mar 18 #Python
Python两个整数相除得到浮点数值的方法
Mar 18 #Python
10款最好的Web开发的 Python 框架
Mar 18 #Python
python通过yield实现数组全排列的方法
Mar 18 #Python
python以环状形式组合排列图片并输出的方法
Mar 17 #Python
You might like
域名和cookie问题(域名后缀)
2012/10/10 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
简单谈谈python中的多进程
2016/11/06 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
法人授权委托书样本
2014/09/19 职场文书
老人节主持词
2015/07/04 职场文书
python基础之文件处理知识总结
2021/05/23 Python