是否存在两种颜色的感知DeltaRGB比较(即DeltaE2000)?

时间:2008-10-14 12:54:34

标签: c# image-processing colors rgb

是否有可靠的Delta RGB公式或代码片段可以对整个RGB三值激励值进行颜色Delta处理,例如DeltaE 2000 / cmc如何将Lab / Lch考虑到感知差异?< / p>

RGB Colourspace可以是任意颜色,但如果它需要特定的颜色,我可以保留sRGB进行计算。 C#是首选,但我可以使用任何语言进行转换。

我目前有一个非常基本的RGB delta公式,但我希望实现能够更真实地感知色差的东西。现在是

float delta = Math.Sqrt(Math.Pow(r1-r2, 2) + Math.Pow(g1-g2, 2) + Math.Pow(b1-b2, 2));

这类似于DeltaE 76(实验室),但它也有同样的缺点,即不考虑感知差异。

请不要只进行Google搜索并粘贴您看到的第一件事!可以找到很多Delta RGB公式,但不要考虑感知差异。如果您对此有所了解,请评论和/或粘贴代码示例的任何链接。此外,我已经从RGB转换为Lab / Lch,然后转换为De2000 / cmc。我不是在找那个。

2 个答案:

答案 0 :(得分:2)

我担心你已经给出了唯一正确的答案:转换为感知色彩空间,其中简单的delta公式是有意义的。

辉煌的色彩科学家一直试图回答感知颜色差异的问题超过一个世纪。他们寻找一种有效的简单RGB公式,但人类的感知太复杂了。

答案 1 :(得分:1)