跟着卷卷龙一起学Camera--AWB

240 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

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值增益。 下图是做白平衡的前后效果图。