给定颜色,我如何找到最接近的颜色?

Sco*_*zer 4 colors

假设我有一个有效颜色值列表,如[0x67FF82,0x808080,0xffffff,...],并给出一个十六进制的输入颜色,我想找到输入颜色最接近的可接受颜色列表中的哪种颜色至.

我的想法是,我发现红色,绿色和蓝色值的差值的绝对值最小的颜色.它是否正确?

gem*_*saw 7

听起来你正在寻找一种量化颜色之间"距离"的方法 - 在数学中,他们称之为度量.例如,许多人对欧几里德度量非常直观- 它只是用标尺测量的两点之间的距离.在颜色的情况下,由于不同颜色的主观感知,事物更复杂.

一篇关于色差非常肮脏的维基百科文章,其中包含指向不同实现的链接.

两种颜色之间的差异或距离是颜色科学中感兴趣的度量.它允许人们量化一个概念,否则这个概念会用形容词描述,这会损害任何工作颜色至关重要的人.通用定义在与设备无关的颜色空间中使用欧几里德距离.

特别是,Python Colormath是python中的一种实现,它在不同的颜色编码之间进行转换,并且似乎还具有计算两种颜色之间距离的功能.如果您恰好使用python进行编码,这听起来很有帮助,但遗憾的是我对该工具没有任何个人经验.CIE2000的作者提供了类似的MATLAB和Excel可用资源,这是一种领先的色差公式.