为什么RGB转XYZ颜色转换会有如此大的差异?

4
最近我一直在尝试理解将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)
我不明白它们怎么可能给出如此不同的答案。哪一个是正确的(如果有的话)?这些网站之间是否存在某种我忽略的参数差异?

这篇帖子提供了另一个链接:https://dev59.com/Smw15IYBdhLWcg3wZ7AY - Ted
另外,请确保将255转换为255.0f等,否则它可能会对您的答案进行四舍五入,具体影响取决于归一化程度。 - Ted
2个回答

2

0

如果您仔细阅读计算器,您会意识到在将这些值转换为XYZ之前需要定义许多参数。因此,这不是一种直接的计算方法,在任何给定条件下都是正确的。在这样做时,有很多变量需要考虑(还要知道哪些变量不会影响您的计算)。

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

Colour calculator


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接