一尘不染

检查颜色相似度的算法

algorithm

我正在寻找一种算法,该算法可比较两种RGB颜色并生成它们的相似度值(其中相似度表示“相对于一般人的感知而言相似”)。

有任何想法吗?

编辑

由于我已经无法回答了,因此决定将我的“解决方案”作为对该问题的修改。

我决定在我的应用程序中使用一个(很小)的真彩色子集,以便我可以自己比较颜色。我使用大约30种颜色,并在它们之间使用硬编码的距离。

由于它是一个iPhone应用程序,因此我使用了Objective-C,实现的过程或多或少是一个代表下表的矩阵,该表显示了颜色之间的距离。

在此处输入图片说明


阅读 448

收藏
2020-07-28

共1个答案

一尘不染

欧氏空间中的RGB距离不是很“类似于人类的平均感知”

您可以使用YUV颜色空间,它考虑了以下因素:

|  Y' |      |  0.299    0.587    0.114   | | R |
|  U  |  =   | -0.14713 -0.28886  0.436   | | G |
|  V  |      |  0.615   -0.51499 -0.10001 | | B |

您也可以为此使用CIE颜色空间。

编辑:

我将提到YUV颜色空间是可以通过简单公式计算的便宜的近似值。但这并不是感知上统一的。感知上均匀意味着颜色值相同量的变化应产生视觉上相同的变化。如果需要更精确,更严格的度量标准,则必须绝对考虑CIELAB颜色空间或另一个在感知上统一的空间(即使没有简单的转换公式)。

2020-07-28