0

是否有可靠的 Delta RGB 公式或代码片段可以对完整的 RGB tri stim 值进行着色,例如 DeltaE 2000/cmc 如何考虑感知差异的 Lab/Lch?

RGB 颜色空间可以是任何颜色空间,但如果它需要是特定的颜色空间,我可以将其保留为 sRGB 用于计算。C# 是首选,但我可以从任何语言转换。

我目前有一个非常基本的 RGB 增量公式,但我想实现一些能够更真实地感知感知色差的东西。目前是

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

这与 DeltaE 76(lab) 类似,但它具有相同的缺点,即不考虑感知差异。

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

4

2 回答 2

2

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

一个多世纪以来,杰出的色彩科学家一直在试图回答感知色彩差异的问题。他们一直在寻找一个有效的简单 RGB 公式,但人类的感知太复杂了。

于 2008-10-16T08:58:33.510 回答
1

以防万一您没有找到它们:

于 2009-03-09T13:40:22.440 回答