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写的英文字符大小写转换代码示例
Mar 06 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
python操作ssh实现服务器日志下载的方法
Jun 03 Python
Python中强大的命令行库click入门教程
Dec 26 Python
Python 多进程和数据传递的理解
Oct 09 Python
python实现机器人行走效果
Jan 29 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python把数组中的数字每行打印3个并保存在文档中的方法
Jul 17 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 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
PHP性能优化 产生高度优化代码
2011/07/22 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
php支付宝APP支付功能
2020/07/29 PHP
php+js实现倒计时功能
2014/06/02 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python实现k-means算法
2018/02/23 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
python飞机大战游戏实例讲解
2020/12/04 Python
无偿献血倡议书
2014/04/14 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python