第一 白平衡介绍
白平衡就是图像在任何光源下拍的白色物品能的还原出白色来,如果不是白色就需要补色去还原为白色。
人类的眼睛对色彩有一个自适应性,对白色物品不受各种光影影响。但是相机里面的感光元器件sensor 没有这种特性,在不同的光线下呈现出的色彩不同,例如晴朗的天空会偏蓝色,暖色的蜡烛会偏黄。白平衡的目的就是消除不同光源造成的色彩偏差,使得拍摄出来的照片尽量符合人眼的习惯。
那如何实现补色呢,
sensor 输出的raw 图是Bayer格式,一起有四种GRBG,RGBG等格式输出排列,一个像素一个通道,按着2G一个R一个B这样的方式排列输出的。
AWB算法的三个步骤
1.色温估计,找白点,估计出表达色温的特征
2.增益计算,,查表或迭代计算出R和B的增益,这里以G通道为参考来加大R和B的增益
3.校正计算,AWB 信道平衡模块中会调整R、B的增益,来和G比较达到平衡
举例一:18%的灰卡在各个色温下采取一张图,白平衡就是先统计出R,G,B的gain 值,然后以G为目标去补偿。
比如原始R=15,G=40,B=30,采用如下的方法计算出白平衡的补偿gain值。R_gain=40/15。B_gain=40/30。G_gain=1
举例二:以红色像素区域为例,我们需要的是丢失了的绿色与蓝色的值.
插值法可以通过分析与这个红色像素相邻的像素计算出这两个值。
比如算法发现该区域像素绿色像素均含有大量电荷,但蓝色像素电荷数为零,所以可以推断出,这个红色像素实际上是黄色的,红色加绿色等于黄色。
以上是搬砖人对AWB的认识。
第二,回归到MTK中AWB的调试模块来AWB tunning flow。
awb 处理是在isp pipeline 的pure raw 域进行白平衡矫正(此步处理后,白色已经做正).

首先,优化白平衡的时候肯定是需要在灯箱下先去校准各个光源的落点,拍灰卡计算各个光源下的白点,查看是否都正确落入对应的白点区域。灰卡在D65灯箱下肯定是蓝色多偏冷,A光下肯定是红色多偏暖色。统计每个光源下的白点,他们可以表达出对应的色温,等于是先标定,给个目标值,后面采取的图像和这些白点对比,然后可以正确的洛入对应的色温框里,以便后面补色还原真实图像。这部分得清楚什么是白点
(MTK的AWB1.色温估计,找白点,估计出表达色温的特征)