我试图写一个简单的函数,它基于RGB代码返回最接近的“参考”颜色的名称。
基于otherSO问题,我将RGB转换为CIE LAB,并计算输入颜色和参考颜色之间的距离。然后我在寻找最小的距离并选择相应的颜色。
不幸的是,建议的解决方案只能部分起作用。鉴于“深橙色”的颜色被解释为红色。
我试图改进它,并根据this的文章,将deltaE\u ciede76改为deltaE\u ciede94和deltaE\u ciede00。你知道吗
你知道下一页他们是怎么解决这个问题的吗?: https://convertingcolors.com/rgb-color-247_104_8.html-请向下滚动到“详细信息”部分
上面写着:颜色可以描述为深饱和橙色。
你能给我一些建议吗?你知道吗
简单程序:
import numpy as np
from skimage.color import rgb2lab, deltaE_ciede94
def identify_colour(rgb_colour):
reference = {
"red" : [53.23, 80.11, 67.22], # https://convertingcolors.com/cielab-color-53.23_80.11_67.22.html
"orange": [74.93, 23.94, 78.96], # https://convertingcolors.com/cielab-color-74.93_23.94_78.96.html
}
input_colour = rgb2lab([[rgb_colour / 255]])
selected = None
d = {}
for colour, value in reference.items():
basic_lab = np.asarray(value)
distance = deltaE_ciede94(basic_lab, input_colour)
d[colour] = distance
selected = min(d, key=d.get)
print("selected: ", selected)
print(d)
return selected
def main():
rgb_colour = np.array([247, 104, 8]) # https://convertingcolors.com/rgb-color-247_104_8.html
identify_colour(rgb_colour)
if __name__ == '__main__':
main()
我不能评论,只是回答,但因为这是我的网站,我想评论
“你知道下一页他们是如何解决这个问题的吗?:https://convertingcolors.com/rgb-color-247_104_8.html-请向下滚动到“详细信息”部分
看看这个演讲和幻灯片;这有助于我实现这个功能: https://www.dotconferences.com/2018/11/david-desandro-read-color-hex-codes
相关问题 更多 >
编程相关推荐