将XYZ颜色转换为RGB

问题描述:

颜色 - 初级转换将XYZ颜色转换为RGB

有谁知道将XYZ转换为RGB值的任何公式吗?

如何在此图片中查找XYZ中的rgb? enter image description here

+0

我敢肯定,维基百科确实如此。你做了什么研究? – beaker

+0

没有通用的“XYZ到RGB”,因为“RGB”没有确切的含义。您需要选择具有特定初选的特定色彩空间,例如[sRGB](https://en.wikipedia.org/wiki/SRGB)。 – Wyzard

+0

有很多数学参与。我的建议是[布鲁斯林布卢姆的网站](http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html)。它包含您需要将颜色从一个颜色空间转换到另一个颜色空间所需的所有公式,参数和背景知识。 –

有一个简单的linear relationship between RGB and XYZ spaces(如果你愿意,你可以在矩阵形式在明显的方式表达这种):但是 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空间,然后附加non-linear transformation需求是应用于每个组件:R=adj(R),G=adj(G)B=adj(B)adj函数定义如下:

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