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 相关文章推荐
以一段代码为实例快速入门Python2.7
Mar 31 Python
用Python实现一个简单的多线程TCP服务器的教程
May 05 Python
python3模块smtplib实现发送邮件功能
May 22 Python
Python实现聊天机器人的示例代码
Jul 09 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
Python猴子补丁知识点总结
Jan 05 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
Python递归实现打印多重列表代码
Feb 27 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
python中opencv实现图片文本倾斜校正
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
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
深入php中var_dump方法的使用详解
2013/06/24 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python获取文件ssdeep值的方法
2014/10/05 Python
Python docx库用法示例分析
2019/02/16 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
python交互模式基础知识点学习
2020/06/18 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
JDO的含义
2012/11/17 面试题
几个SQL的面试题
2014/03/08 面试题
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
中科软测试工程师面试题
2012/06/16 面试题
node中使用shell脚本的方法步骤
2021/03/23 Javascript
护理毕业生自荐信范文
2013/12/22 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
本科毕业生自荐信
2014/06/02 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
职位证明模板
2015/06/23 职场文书
课改心得体会范文
2016/01/25 职场文书
Moment的feature导致线上bug解决分析
2022/09/23 Javascript