源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python实现从一组颜色中找出与给定颜色最接近颜色的方法

  • 时间:2021-08-25 18:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python实现从一组颜色中找出与给定颜色最接近颜色的方法
本文实例讲述了python实现从一组颜色中找出与给定颜色最接近颜色的方法。分享给大家供大家参考。具体分析如下: 这段代码非常有用,可以找到指定颜色相似的颜色,比如有一组8个颜色,现在给定一个rgb格式的演示,找出它与8个颜色中的哪一个最接近,如果你需要做一个按照图片颜色搜索图片的程序,这个就非常有用了。
[u]复制代码[/u] 代码如下:
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程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部