我有一个20种颜色的列表,每种颜色都是这样的(0,0,0)(rgb),但是值不同,我需要找到最接近我给出的颜色,例如(20019123131)。问题是我不确定应该如何检查关闭的颜色,以及如何设置列表中的所有这些颜色值?在阵列中?在
我一直在想也许把exmaple(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
功能如下:
^{pr2}$如果你想出一个好的解决方案或有任何问题,请重播谢谢你的帮助!在
快速、高效、清洁的解决方案
假设我们有:
为了快速处理,使用numpy并转换成numpy数组
^{pr2}$所需颜色
完整代码
此算法没有循环,由于使用numpy,因此速度非常快
你要找出红、绿、蓝三个数字的绝对差之和,然后选择最小的一个。在
编辑:改进了代码,使用了上面提到的欧几里得距离计算Sven,而不是基本的差和。在
相关问题 更多 >
编程相关推荐