2024年10月27日 第46讲 AWB自动白平衡 极客笔记
本讲是Android Camera专题系列的第46讲,我们介绍Android Camera2 API专题的AWB自动白平衡。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
人眼:在不同的光源下,人眼看到的白色物体总是白色的
图像传感器:在不同光源下,白色物体成像在Sensor上是不一样的
因此需要把Sensor的RGB相应各乘以一个系数来使得RGB相等
R’ = R x R_Gain
G’ = G x G_Gain
B’ = B x B_Gain
使得 R’=G’=B’
自动白平衡 (Auto White Balance): 通过算法根据统计数据自动计算出R/G/B的Gain值
CaptureRequest#CONTROL_AWB_MODE,通过CameraCharacteristics#CONTROL_AWB_AVAILABLE_MODES判断支持哪些Mode
CONTROL_AWB_MODE取值 | 描述 |
---|---|
CONTROL_AWB_MODE_OFF | AWB算法Disabled,App通过修改CCM和AWB Gain来手动控制白平衡 |
CONTROL_AWB_MODE_AUTO | AWB算法Enabled,白平衡由算法控制,App设置的CCM和AWB Gain会被忽略 |
CONTROL_AWB_MODE_FLUORESCENT | AWB算法Disabled,使用荧光灯作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略,匹配CIE标准光源F2 |
CONTROL_AWB_MODE_WARM_FLUORESCENT | AWB算法Disabled,使用暖荧光灯作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略,匹配CIE标准光源F4 |
CONTROL_AWB_MODE_DAYLIGHT | AWB算法Disabled,使用日光灯作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略,匹配CIE标准光源D65 |
CONTROL_AWB_MODE_CLOUDY_DAYLIGHT | AWB算法Disabled,使用多云白天作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略 |
CONTROL_AWB_MODE_TWILIGHT | AWB算法Disabled,使用黄昏作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略 |
CONTROL_AWB_MODE_SHADE | AWB算法Disabled,使用阴影光作为假定的场景照明来调节白平衡,App设置的CCM和AWB Gain会被忽略 |
判断是否支持
控制AWB Lock
判断是否支持设置AWB Region
设置AWB Region
读取CaptureResult#CONTROL_AWB_STATE
android.control.awbMode != AWB_MODE_AUTO
android.control.awbMode AWB_MODE_AUTO
手动白平衡 – 设置Gain
手动白平衡 – 设置CCM
本文链接:http://so.lmcjl.com/news/16331/