
114、自动白平衡AWB:灰度世界、完美反射、色温估计与AI方法的场景适应性对比去年在调试一款车载环视摄像头时,遇到一个让我头疼了三天的白平衡问题。车子停在露天停车场,正午阳光直射,画面正常。但一旦开进地下车库,整个画面就偏紫得厉害,像是蒙了一层滤镜。更诡异的是,同一颗模组在另一台车上表现正常。拆开日志一看,AWB模块在低照度场景下直接“摆烂”——把荧光灯管的色温估计成了5000K,而实际是4000K的LED灯。这种场景适应性差异,正是今天要聊的核心。灰度世界:最朴素的假设,最脆弱的场景灰度世界算法(Gray World)是所有AWB方法里最“天真”的。它假设场景中所有颜色的平均值是灰色,然后通过调整R/G/B增益让平均色温回归中性。这个假设在自然光下、色彩丰富的场景中勉强能用,但一旦遇到大面积单色物体,比如一片蓝天、一面红墙,算法直接崩盘。我在调试安防IPC时遇到过典型场景:一个仓库里堆满了蓝色塑料箱,灰度世界算法把整个画面调成了暖黄色,因为蓝色分量被过度压缩。代码里通常这样实现:// 计算R/G/B通道平均值floatavgR=sumR/pixelCount