美文网首页
揭秘色彩学中的XYZ色彩空间

揭秘色彩学中的XYZ色彩空间

作者: 罗引杰 | 来源:发表于2021-08-15 15:31 被阅读0次

    XYZ模型是什么

    CIE 1931 XYZ色彩空间(也叫做CIE 1931色彩空间)是其中一个最先采用数学方式来定义的色彩空间,它由国际照明委员会(CIE)于1931年创立。

    XYZ 色彩空间作用

    XYZ 色彩空间是为了解决更精确地定义色彩而提出来的, XYZ 三个分量中, XY代表的是色度, 其中Y分量既可以代表亮度也可以代表色度, 三个分量的单位都是 cm/m2 , (或者叫做nit)。我们无法用RGB来精确定义颜色, 因为,不同的设备显示的RGB都是不一样的,不同的设备, 显示同一个RGB, 在人眼看出来是千差万别的, 如果我们用XYZ定义一个设备的色彩空间, 这样就精确多了!

    打个比方,如果一个颜色由XYZ表示,例如X=19 cd/m2 , Y=20 cd/m2 , Z=21 cd/m2 , 则这个颜色的亮度为 20 cd/m2 , 则色度可以由 x=X/(X+Y+Z) = 19/60, y=Y/(X+Y+Z) = 20/30 来表示。

    image.png

    如何准确地将R'G'B'电信号转为XYZ

    • 首先需要知道R'G'B' 的EOTF曲线,这里可以简单理解为Gamma, 然后根据Gamma 来将R'G'B' 转换为 RGB 线性信号, 比如按照如下方式
      R = powf(R', 2.2)
      G = powf(G', 2.2)
      B = powf(B', 2.2)

    • 然后需要知道RGB线信信号所在的色彩空间, 我们这里假设他是sRGB(如果没有特别说明,大部分都是这个)

    • 利用RGB->XYZ 的转换矩阵来转换即可, 比如在sRGB中我们使用如下矩阵:
      RGB2XYZ Matrix:
      0.4124, 0.3576, 0.1805
      0.2126, 0.7152, 0.0722
      0.0193, 0.1192, 0.9505

    • 对于其他的色彩空间, 需要不一样的转换矩阵, 具体可以通过r177 协议进行转换, 我在这篇文章中写出了常见色彩转换矩阵,供大家参考:https://www.jianshu.com/p/db1caf7f2920

    XYZ如何转换为RGB

    将上述矩阵求逆矩阵即可, 比如sRGB可以使用如下矩阵:
    XYZ2RGB Matrix:
    3.2410, -1.5374, -0.4986
    -0.9692, 1.8760, 0.0416
    0.0556, -0.2040, 1.0570

    XYZ 的衍生色彩空间 L*a*b* L*u*v*

    由于XYZ色彩空间所描述的色彩并不是均匀的, 如蓝色的区域就会很密, x从0.2变到0.3, 颜色会有很大的不同, 绿色的y分量从0.7变到0.8 颜色只改变了一点点, 所以我们需要一个更加均匀的色彩空间CIE 1976 Lab 和 CIE 1976 Luv, 其中, Lab 计算起来会比Luv复杂一些, Lab一般用于印刷纺织行业, Luv主要用于电视工业

    CIE 1976 L*u*v*

    XYZ转L*a*b*方法

    image.png

    XYZ转L*u*v*方法

    image.png

    相关文章

      网友评论

          本文标题:揭秘色彩学中的XYZ色彩空间

          本文链接:https://www.haomeiwen.com/subject/mqsubltx.html