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命令行参数sys.argv使用示例
Jan 28 Python
Python中的模块和包概念介绍
Apr 13 Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
Python3几个常见问题的处理方法
Feb 26 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
python 读取修改pcap包的例子
Jul 23 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 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时间戳与日期的转换
2013/06/06 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
js 居中漂浮广告
2010/03/21 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python数据类型详解(二)列表
2016/05/08 Python
python常见排序算法基础教程
2017/04/13 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
Java面向对象面试题
2016/12/26 面试题
文明之星事迹材料
2014/05/09 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS