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自定义解析简单xml格式文件的方法
May 11 Python
Python基于DES算法加密解密实例
Jun 03 Python
浅谈python中set使用
Jun 30 Python
Python 自动化表单提交实例代码
Jun 08 Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 Python
Django安装配置mysql的方法步骤
Oct 15 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
python pytest进阶之fixture详解
Jun 27 Python
django框架ModelForm组件用法详解
Dec 11 Python
python设置环境变量的作用整理
Feb 17 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
Win 10下Anaconda虚拟环境的教程
May 18 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长字符串定义方法
2012/07/12 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
Ionic快速安装教程
2016/06/03 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
深入解析Python中的上下文管理器
2016/06/28 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
Python 绘制可视化折线图
2020/07/22 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
农行实习自我鉴定
2013/09/22 职场文书
印刷工程专业应届生求职信
2013/09/29 职场文书
教学大赛获奖感言
2014/01/15 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
获奖感言怎么写
2015/07/31 职场文书
办公室管理规章制度
2015/08/04 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
MySQL Server 层四个日志
2022/03/31 MySQL