跟着卷卷龙一起学 Camera--AWB
What is AWB?
人们脑海记忆中的颜色被称为记忆色。记忆色是恒定不变的。从人的视觉神经系统的角度来看,会认为阴天、晴天、室内外的白色是一样的。但实际上 sensor 的感光器件并没有记忆色,不同色温的光会对本来的颜色造成偏色现象。所以这里需要引入 AWB(Auto White Balance),来还原不同色温下我们的记忆白。以白色为基础,其他色彩也会随之调整,简而言之就是对 R\G\B 三个通道分量进行不同程度的平衡调整。
How to do AWB?
常用的白平衡算法有:灰度世界法、完全反射法、白点色温标定法。
灰度世界法的使用基于一个假说:任一幅图像,当它有足够的色彩变化,则它的 RGB 分量的均值会趋于相等(即灰色)。于是我们寻找一个 GrayMean 值。使得 R 通道的 RGain*RMean=GrayMean,找到 R 分量的 gain 值之后,让每个像素点的 R 分量乘上这个 gain 值即可。同理 G、B 分量也是如此。如果画面颜色不够丰富则该方法不适用。
完全反射法的使用基于一个假说:一幅图像中某个像素点最亮,代表它对各个波段的光线都近乎完全反射,那么它的真实颜色应该是白色的,即 R=G=B,且 RGB 的值最大。于是 Rgain=255/该点 R,同理 G、B 分量也是如此。算出来的 gain 值作用到每个像素点。如果该画面没有高光白块,则该方法不适用。
白点色温标定法就是根据画面中白色部分的 R/G/B 之间的比值,来进行色温标定,根据判断不同色温下,来给出不同的 gain 值增益。
版权声明: 本文为 InfoQ 作者【卷卷龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/52f0375c89ee874caba567619】。文章转载请联系作者。
评论