将XYZ颜色转换为RGB。

7

主色调转换

有没有任何公式可以将XYZ值转换为RGB值?

如何从这张图片中的XYZ值找到RGB值? enter image description here


我相信维基百科会有相关信息。您做了哪些调研? - beaker
1
没有通用的“XYZ到RGB”转换,因为“RGB”没有精确的含义。您需要选择一个具有特定原色的特定颜色空间,例如[sRGB](https://en.wikipedia.org/wiki/SRGB)。 - Wyzard
这里涉及到了很多数学。我的建议是访问Bruce Lindbloom的网站。该网站包含了你需要将一种颜色空间转换为另一种所需的所有公式、参数和背景知识。 - Manfred Radlwimmer
1个回答

15

如果您希望可以以矩阵形式表达,那么RGB和XYZ空间之间存在着简单的线性关系

R = 3.2404542*X - 1.5371385*Y - 0.4985314*Z G = -0.9692660*X + 1.8760108*Y + 0.0415560*Z B = 0.0556434*X - 0.2040259*Y + 1.0572252*Z

然而,如果您所指的是sRGB空间,则需要对每个分量进行非线性变换R=adj(R)G=adj(G),和B=adj(B)。其中adj函数定义如下:

function adj(C) {
  if (Abs(C) < 0.0031308) {
    return 12.92 * C;
  }
  return 1.055 * Math.pow(C, 0.41666) - 0.055;
}

2
该矩阵是sRGB的,而sRGB并不是唯一的RGB颜色空间。 - Константин Ван

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