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语言的12个基础知识点小结
Jul 10 Python
分享一个常用的Python模拟登陆类
Mar 29 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 Python
python跳过第一行快速读取文件内容的实例
Jul 12 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
django如何实现视图重定向
Jul 24 Python
Python命令行click参数用法解析
Dec 19 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
linux系统下pip升级报错的解决方法
Jan 31 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文件压缩之PHPZip类用法实例
2015/06/18 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
Python中的面向对象编程详解(上)
2015/04/13 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
教师自荐信
2013/12/10 职场文书
平面设计岗位职责
2013/12/14 职场文书
行政部岗位职责范本
2014/03/13 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
党员个人党性分析材料
2014/12/18 职场文书
运动会100米加油稿
2015/07/21 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
一起来学习Python的元组和列表
2022/03/13 Python
python_tkinter弹出对话框创建
2022/03/20 Python