颜色的表示和还原(二)

1.色温和白平衡

物体有SPD,光照也有SPD,所以最终进入人眼的实际是二者的乘积。但有意思的是同一物体在不同光照SPD下,人眼会识别为同一个颜色,这就是Color constancy/chromatic adaptation。但sensor是没有这个特性的,所以需要白平衡来解决。

对于光照的SPD,可以使用色温来表示。由普朗克定律Plank's law,某个波长的能量谱密度可以由给定温度下的黑盒辐射“blackbody radiators”来表示,剩余的都是光速,普朗克常量等常量。

 由这个公式对应的曲线图中可以看出:温度越高,曲线峰值对应的波长越短,越接近蓝色。

CIE建立了几种标准的光源,和色灯箱上的字母是对应的:标准光源对色灯箱上字母含义是什么-DOHO标准光源对色灯箱厂家

A充气螺旋钨丝灯,色温2856K
Bnoon sunlight
Caverage daylight,色温约为6774K的平均日光,光色近似阴天天空的日光
DD50, D55, D65分别表示5000K, 5500K, 6500K
E均匀分布的SPD,类似于D55
F各种荧光灯,色温2700K
H卤钨灯,色温2300K

可以只考虑白色点,只要白色点在各个光照下不变,那么最终的成像颜色就不会受光照的影响。下图可以看到,不同光照下白色点确实出现的偏移:

白平衡的目的就是使白色区域在不同场景下的xyz空间的同一位置。具体做法是乘一个对角矩阵,即每个分量乘一个权重系数。对白色乘完之后在人眼细胞LMS空间中应该是(1,1,1),这样就得到了对角矩阵。

由此类推,也可以像色调映射一样,把一个色温下的图像转换到另外一个色温场景下。

 2.设备间一致——sRGB

CIE XYZ 虽然是很典型的颜色空间,但照片和设备不直接使用XYZ。因为XYZ毕竟不是真实的分量,我们还是对RGB更熟悉。但麻烦的是不同设备的分量不一致,这样同一个信号在不同设备下的颜色就会不一样。

要改变这一现象,就需要设备的生产商们制定一个标准。在1996,微软和惠普制定了Standard RGB 的标准:

sRGB本质是从XYZ空间中选取了一块子空间。

因为色温影响颜色空间,所以在制定sRGB时的whitepoint是在D65下制定的,即色温为6500K。

3.转换为sRGB——CCM

CCM(Color Correction Matrix)的作用就是通过一个3X3的矩阵使得颜色更接近人眼所感受的颜色。这句话看着有点废话,因为整个ISP的作用就是如此。但他又是正确的,因为CCM完成了从sensor rgb到sRGB的变化,无疑前者不够标准化,后者更接近人眼。

通常CCM之前已经完成的白平衡操作,为了不再破坏白平衡,对于whitepoint(R=1,G=1,B=1),经过CCM之后,要有R'=1,G'=1,B'=1,这就要求CCM矩阵满足:

所以通常通过带限制条件的优化方程的方式来求解,这样求解出来的矩阵就能保证白平衡不被破坏。

https://zhuanlan.zhihu.com/p/413851281
https://zhuanlan.zhihu.com/p/536783855

CCM-色彩校正矩阵 - 知乎

在sRGB中提到,不同色温的sRGB空间是不同的,所以不同色温下的CCM也是不同的。一般会在不同色温如2800K和6500K下标定CCM,其他色温的CCM通过线性插值求解。

4.人眼非线性——gamma

sRGB是一个线性空间,但人眼对亮度的感受不是线性的,而是更接近指数函数的形式。曲线是上凸的,斜率越来越低,接近cube-root power-law,指数的幂一般取1/2.2。

有趣的是,人对疼痛的感受和对亮度的感受正好相反:

gamma上凸的曲线被称为encoding的过程,对应的反函数被称为decoding的过程。

5.其他颜色空间

YUV是一种颜色编码方式,Y表示亮度,uv共同表示色度。因为人眼对色度的感知较弱,所以可以压缩uv的带宽,从而有了YUV422和YUV420编码。RGB向YUV转换时,应该是gamma变换之后的RGB。这里的Y指的是Luma,而不是Luminance

LAB颜色空间是一种基于人类生理特征的颜色模型,它不依赖于特定的设备或光线条件。a表示从绿色到红色(数值对应从负到正,后面同理),b表示从蓝色到黄色的范围。其中L的值域为[0, 255], a的值域为[-128, 127], b的值域为[-128, 127]。当a=b=0时,表示灰色。

lab解决了xyz中颜色分布不均匀的问题。L差不多是Y分量的根号三次方。RGB无法直接转换成为Lab,需要线转换成XYZ色彩空间再转换为Lab。

电视广播系统有自己的标准NTSC。不过,目前NTSC 是一个已经过时的电视色彩标准,如今保存下来的意义几乎就仅是作为各色彩标准之间的对比。NTSC 色域相对 sRGB 色域而言,绿色的覆盖面积会更广一些,色彩会更加丰富。但值得注意的是,NTSC 并未完全覆盖住 sRGB,sRGB 有一小部分是在 NTSC 之外的。

  • 32
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值