将子颜色名称转换为父母颜色名称

朴智硕

我引用了一个问题https://stackoverflow.com/a/9694246/98276以通过RGB值获得颜色名称。但是存在太多的颜色名称。所以我想做的是,如果我获得颜色名称“栗色”,请更改为“红色”。另外,如果获得“军校蓝色”,则更改为“蓝色”

actual_name, closest_name = get_colour_name(requested_colour)
if actual_name == None:
    actual_name = get_parantColor(closest_name) #if closest_name was maroon, return red.
JENX

这个问题可以通过多种方式回答。这实际上取决于两件事:

  1. 您的基本颜色是什么,以及
  2. 您要使用哪种相似性度量(即,从任意颜色到基色的转换(匹配)函数应该是什么样的)–与webcolors所引用问题的相同或不同?

举例来说,一个很简单的方法是'red''green''blue'因为你的颜色池和翻译功能可以检查颜色和回报取其最高的红色,绿色和蓝色分量。例如,对于颜色RGB(128, 0, 0)(栗色),您将返回,'red'因为红色是最突出的颜色(但是,如果两个或三个组件均等存在,您会怎么做?这也是您需要定义的东西。)

如果可以遇到的颜色数量有限,另一种解决方案是创建一个字典,将输入的颜色映射到您的基本颜色之一:{'maroon': 'red', 'cadet blue': 'blue', ...}并使用它。

解决方案实际上取决于您如何定义问题。开头的两点可以帮助您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章