我对如何正确地从sRGB或XYZ颜色空间转换为ACEScg感到困惑。具体而言,我是否必须明确说明白点上的差异。
aces github页面给出了从XYZ转换到AP1的下列矩阵:
1.6410233797, -0.3248032942, -0.2364246952,
-0.6636628587, 1.6153315917, 0.0167563477,
0.0117218943, -0.0082844420, 0.9883948585FGED2给出了以下矩阵,以便用白点D65将XYZ转换为sRGB:
3.240970, -1.537383, -0.498611,
-0.969244, 1.875968, 0.041555,
0.055630, -0.203977, 1.056972 这个灯饰玩具给出了从sRGB转换到AP1的下列矩阵:
0.613097, 0.339523, 0.047379,
0.070194, 0.916354, 0.013452,
0.020616, 0.109570, 0.869815所以我想,如果我组合XYZ->sRGB和sRGB->AP1矩阵,结果应该与XYZ->AP1相同。然而,有一个小的,但明显的差别:
1.66058, -0.315295, -0.24151,
-0.659926, 1.60839, 0.017298,
0.00900358, -0.00356713, 0.913644我认为区别来自于白点的处理方式?我的问题是,这是“正确的”。我有XYZ->AP1和sRGB->AP1的用例,但现在我很恼火,因为我的矩阵不允许我往返。
发布于 2020-05-15 08:31:06
差异来自色彩适应,这是包括在矩阵从着色玩具。如果将aces页面中的XYZ->AP1与D65->D60组合在一起,最终得到的矩阵与我通过链接XYZ->sRGB和sRGB->AP1 (带有色适应)得到的矩阵相同。
https://computergraphics.stackexchange.com/questions/9834
复制相似问题