Image processing Yxy到RGB的转换

Image processing Yxy到RGB的转换,image-processing,3d,Image Processing,3d,我正在尝试实现一种从Yxy颜色空间到RGB的转换方法。首先将其转换为XYZ,然后再转换为RGB。我发现Yxy->XYZ的“官方”矩阵是 3.2410 -1.5374 -0.4986 -0.9692 1.8760 0.0416 0.0556 -0.2040 1.0570 3.2410 -1.5374 -0.4986 -0.9692 1.8760 0.0416 0.0556 -0.2040 1.0570 这也是Matt Pharr的《基于物理的渲染》一书中使用的 另一方面,许多人在3D图形

我正在尝试实现一种从Yxy颜色空间到RGB的转换方法。首先将其转换为XYZ,然后再转换为RGB。我发现Yxy->XYZ的“官方”矩阵是

3.2410 -1.5374 -0.4986 -0.9692 1.8760 0.0416 0.0556 -0.2040 1.0570 3.2410 -1.5374 -0.4986 -0.9692 1.8760 0.0416 0.0556 -0.2040 1.0570 这也是Matt Pharr的《基于物理的渲染》一书中使用的

另一方面,许多人在3D图形领域使用

2.5651-1.1665 -0.3986 -1.0217 1.9777 0.0439 0.0753 -0.2543 1.1892 2.5651-1.1665 -0.3986 -1.0217 1.9777 0.0439 0.0753 -0.2543 1.1892 现在,据我所知,如果x=0.33333,y=0.33333,Yxy会给出一个灰色阴影。这确实是我用第二个矩阵得到的。第一个创建红色RGB值

第二个矩阵有效,但它来自哪里?我发现很多人在他们的示例代码中使用它,但没有人真正解释它是否有物理背景


提前感谢

从xyY到XYZ的转换是非线性的,即不能通过矩阵乘法进行计算。 从维基百科网站:

两个矩阵似乎都适用于XYZ到RGB的转换。第一个由sRGB初选和白点给出。第二个是非常接近sRGB的初选(绿色有
x=0.29
y=0.60
)和
x=0.334
y=0.334
白点

如果您希望使用其他RGB原色和白点,请参阅以下列表:

X = Y / y * x
Z = Y / y * ( 1 - x - y )