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 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
Python聚类算法之凝聚层次聚类实例分析
Nov 20 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
DataFrame 将某列数据转为数组的方法
Apr 13 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
Dec 09 Python
python连接PostgreSQL过程解析
Feb 09 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
pytorch 如何使用amp进行混合精度训练
May 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
php 操作调试的方法
2012/07/12 PHP
详解js异步文件加载器
2016/01/24 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
Javascript实现的分页函数
2007/02/07 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
js实现网页收藏功能
2015/12/17 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
实时获取Python的print输出流方法
2019/01/07 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
外语系毕业生自荐信范文
2013/12/16 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
挂职思想汇报
2013/12/31 职场文书
读书演讲主持词
2014/03/18 职场文书
遗失说明具结保证书
2015/02/26 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书