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中PIL安装简单教程
Apr 21 Python
Python实现句子翻译功能
Nov 14 Python
有趣的python小程序分享
Dec 05 Python
TensorFlow变量管理详解
Mar 10 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
python中比较两个列表的实例方法
Jul 04 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
pytorch 实现tensor与numpy数组转换
Dec 27 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
python实现简单猜单词游戏
Dec 24 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
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
python3获取url文件大小示例代码
2019/09/18 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
地道战观后感400字
2015/06/04 职场文书
高中生物教学反思
2016/02/20 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python