3

最近我一直在尝试理解在 RGB 颜色空间和 CIE-XYZ 颜色空间之间转换的代码,但似乎我尝试的每个不同的计算器都会给我带来截然不同的结果。例如,尝试将 (255, 100, 70) 转换为 XYZ 会产生以下结果,即使在所有内容都明确使用 d50 时也是如此:

  • EasyRGB提供 (46.903, 30.817, 9.270)
  • Wolfram Alpha给出 (0.7493, 0.7245, 0.6308)
  • Bruce Lindbloom.com 给出 (0.493910, 0.317574, 0.070047)
  • Java 给出 (0.95880127, 0.99554443, 0.8227539)

我不明白这些怎么可能给出如此不同的答案。哪一个是正确的(如果有的话)?这些网站之间是否有一些我遗漏的参数有所不同?

4

2 回答 2

2

因为有不同的 RGB 空间,而不仅仅是一个。

在此页面上,有一个通用公式:

http://brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html

但一般公式取决于一些参数,例如矩阵 M,它对于每个单独的 RGB 空间都是不同的。

于 2013-07-21T17:34:17.903 回答
0

如果您通过这个计算器,您会意识到在将这些值转换为 XYZ 之前需要定义很多参数。因此,它不是在任何给定条件下都适用的直接计算。这样做时您必须考虑很多变量(还要知道哪些变量不会影响您的计算)。

计算还取决于您尝试开发的应用程序。感测颜色的方法与在屏幕上再现相同颜色的方法不同。

颜色计算器

于 2017-07-20T08:38:10.807 回答