首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将XYZ或sRGB转换为ACEScg/AP1

如何将XYZ或sRGB转换为ACEScg/AP1
EN

Computer Graphics用户
提问于 2020-05-13 21:14:21
回答 1查看 1.2K关注 0票数 2

我对如何正确地从sRGB或XYZ颜色空间转换为ACEScg感到困惑。具体而言,我是否必须明确说明白点上的差异。

aces github页面给出了从XYZ转换到AP1的下列矩阵:

代码语言:javascript
复制
 1.6410233797, -0.3248032942, -0.2364246952,
-0.6636628587,  1.6153315917,  0.0167563477,
 0.0117218943, -0.0082844420,  0.9883948585

FGED2给出了以下矩阵,以便用白点D65将XYZ转换为sRGB:

代码语言:javascript
复制
 3.240970, -1.537383, -0.498611,
-0.969244,  1.875968,  0.041555,
 0.055630, -0.203977,  1.056972 

这个灯饰玩具给出了从sRGB转换到AP1的下列矩阵:

代码语言:javascript
复制
0.613097, 0.339523, 0.047379,
0.070194, 0.916354, 0.013452,
0.020616, 0.109570, 0.869815

所以我想,如果我组合XYZ->sRGB和sRGB->AP1矩阵,结果应该与XYZ->AP1相同。然而,有一个小的,但明显的差别:

代码语言:javascript
复制
 1.66058,    -0.315295,  -0.24151,
-0.659926,    1.60839,    0.017298,
 0.00900358, -0.00356713, 0.913644

我认为区别来自于白点的处理方式?我的问题是,这是“正确的”。我有XYZ->AP1和sRGB->AP1的用例,但现在我很恼火,因为我的矩阵不允许我往返。

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2020-05-15 08:31:06

差异来自色彩适应,这是包括在矩阵从着色玩具。如果将aces页面中的XYZ->AP1与D65->D60组合在一起,最终得到的矩阵与我通过链接XYZ->sRGB和sRGB->AP1 (带有色适应)得到的矩阵相同。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/9834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档