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实现截屏的函数
Jul 26 Python
Python使用内置json模块解析json格式数据的方法
Jul 20 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
元组列表字典(莫烦python基础)
Apr 03 Python
深入浅析Python 中 is 语法带来的误解
May 07 Python
Python queue队列原理与应用案例分析
Sep 27 Python
Python二次规划和线性规划使用实例
Dec 09 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
做网页的一些技巧
2007/02/01 Javascript
javascript 对象比较实现代码
2009/04/27 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
python实现发送邮件
2021/03/02 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
探亲假请假条
2014/04/11 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
毕业生找工作求职信
2014/08/05 职场文书
自我查摆剖析材料
2014/10/11 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
成事在人观后感
2015/06/16 职场文书
人与自然的观后感
2015/06/18 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python