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实现冒泡,插入,选择排序简单实例
Aug 18 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
python冒泡排序简单实现方法
Jul 09 Python
Python打印输出数组中全部元素
Mar 13 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
python3+pyqt5+itchat微信定时发送消息的方法
Feb 20 Python
Django+Xadmin构建项目的方法步骤
Mar 06 Python
Django框架模板用法入门教程
Nov 04 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
Spring http服务远程调用实现过程解析
Jun 11 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
memcache命令启动参数中文解释
2014/01/13 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
thinkphp分页实现效果
2016/10/13 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python tkinter canvas使用实例
2019/11/04 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Python decimal模块使用方法详解
2020/06/08 Python
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
自考生自我鉴定范文
2013/10/01 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
卖车协议书范例
2014/09/16 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
大学生团员个人总结
2015/02/14 职场文书
民间借贷借条如何写
2015/05/26 职场文书
小学教育见习总结
2015/06/23 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
Java使用jmeter进行压力测试
2021/07/09 Java/Android