【发布时间】:2019-06-12 00:33:17
【问题描述】:
我有 20 种颜色的列表,每种颜色都像 (0,0,0)(rgb) 但具有不同的值,我需要找到最接近我给出的颜色的颜色,例如 (200, 191 , 231)。问题是我不确定我应该如何检查关闭的颜色,以及我应该如何在列表中设置所有这些颜色值?在数组中?
我一直在考虑是否可以为示例 (1,2,3) = 4 添加所有颜色,然后找到最接近的颜色,但我不确定这是否是个好主意..
这是颜色列表:
#(0, 0, 0) - Black
#(127, 127, 127) - Gray
#(136, 0, 21) - Bordeaux
#(237, 28, 36) - red
#(255, 127, 39) - orange
#(255, 242, 0) - yellow
#(34, 177, 76) - green
#(203, 228, 253) - blue
#(0, 162, 232) - dark blue
#(63, 72, 204) - purple
#(255, 255, 255) - white
#(195, 195, 195) - light gray
#(185, 122, 87) - light brown
#(255, 174, 201) - light pink
#(255, 201, 14) - dark yellow
#(239, 228, 176) - light yellow
#(181, 230, 29) - light green
#(153, 217, 234) - light blue
#(112, 146, 190) - dark blue
#(200, 191, 231) - light purple
这里是函数:
def paint(pixel):
r,g,b,a = pix[x,y]
print(str(r) + ' '+ str(g) + ' ' + str(b))
sleep(0.20)
如果您想出了一个好的解决方案或有任何问题,请重播,谢谢您的帮助!
【问题讨论】:
-
我认为找到颜色向量之间的欧几里得距离可能是一个明智的选择
sqrt(sum of squared distances of individual components)