既然要理解白平衡,自然要先解释下“color temperature”(色温,简称CT)的概念
1. 色温
顾名思义,色温的意思就是“色彩的温度”,这其实是从热力学的角度来定义光线的颜色的。
现在,我们想象有这样一个绝对黑体(其实这是科学家们想出来的),这个物体的性质是可以将能量无损的转换为电磁波。接着,我们从绝对零度开始持续加温这个黑体,在这个过程中它所呈现出来的颜色就叫做“色温”。
举个例子,随着温度的增加,电磁波的波长越来越短,最终波长到达人眼可以感知的长度,这时候,它发光了,最初始应该是红色。
继续加热黑体,发现它在1800K温度的时候发出和烛光一样颜色的光。那么,我们就定义:烛光的色温大概是1800K。
继续加热黑体,这时候,它在3200K的时候发出了和家用白炽灯同样颜色的光。那么我们定义:家用白炽灯的色温大概是3200K。
继续加热,它会发出和晴天正午阳光一样颜色的光,很耀眼的白色。再次测量其温度,大概是5600K。那么我们再次定义:晴天正午阳光色温大概是5600K。
从图中我们知道:色温值越高,色调越冷,也就是越蓝。反之则越暖
2. 白平衡
OK,既然理解了色温的概念,我们就可以说白平衡了。
通过刚才的讲述,我们知道了光线的颜色是不同的。平时我们用眼睛去观看不同光源下的白色物体时,我们没有异样的感觉,认为这就是白色的,即使看起来是黄色,但我们也明白是光源的干扰,实际上这个东西依旧是白色。
这是因为大脑自动的纠正了光线的偏差。但是相机不行,相机分辨不出当前是什么光源,相机认识的只有一个东西——“色温”。当你给出具体的色温值,相机就会认为光源的颜色和色温一致,进而根据这个色温为基准,计算出照片的色彩。因为相机中色彩的还原是以白色为基色,所以设置色温这个操作被称作设置“白平衡”。
人眼中的白色总是R = G = B,那么白平衡所做的事情就是在任意环境下,就是找到图像中的白块,然后调整R、G、B的比例。也就是将sensor响应的RGB分别乘上一个系数,使得"白色成为白色"。
R' = R x R_Gain
G' = G x G_Gain
B' = B x B_Gain
# 使得R' = G' = B'。
好的,让我们来看一组白平衡对比图:
细心的小伙伴肯定发现了,随着K值增大,白平衡之后反而越黄了?而随着K值减小,白平衡之后反而越蓝了?
如果你认真看上面的原理解释,你会发现:其实,在相机中,色彩的还原是以白色为基色,白平衡是使得"白色成为白色"。
所以,当相机看到你设置了一个比较高的K值,以为这地方色温高,会很努力往画面中添加黄(红)来中和,结果……更黄(红)了。
当相机看到你设置了一个比较低的K值,以为这地方色温低,会很努力往画面中添加蓝色来中和,结果……更蓝了。
这就是白平衡啦。
本文仅供学习交流,若有疑问,欢迎批评指正。更详细的介绍请参考本文引用链接:
1. https://www.zhihu.com/question/20599592/answer/15603452
2. https://www.zhihu.com/question/20599592/answer/15607541
3. https://blog.csdn.net/htjacky/article/details/78804816