4. 白平衡基础理论

各位做安防监控的同行,咱们直接切入正题。白平衡调不好,画面偏色,客户投诉,项目验收过不了。我见过太多这样的案例了。今天这章,咱们把白平衡的底牌翻出来,讲清楚三个核心理论。

4.1 色温与白平衡:一对天生的冤家

先问个问题:为什么同一张白纸,在室内灯光下发黄,在室外阳光下又发蓝?

答案就是色温。色温用开尔文(K)表示,数值越低,光线越偏红黄;数值越高,光线越偏蓝。我刚开始做安防时,总觉得色温是个物理概念,跟图像处理关系不大。直到有一次,一个仓库项目,白天画面正常,晚上钠灯一开,整个画面黄得像老照片。嗯,从那以后,我再也不敢小看色温了。

光源类型 典型色温(K) 画面偏色倾向
蜡烛/白炽灯 2000 - 3000 偏红黄
卤素灯/日出日落 3000 - 4500 偏暖黄
日光/荧光灯 5000 - 6500 接近中性
阴天/阴影 6500 - 8000 偏蓝
晴朗蓝天 8000 - 10000 偏深蓝

白平衡要做的,就是根据当前光源的色温,把画面拉回「白色就是白色」的状态。说白了,就是给图像做一次「色温补偿」。你想想看,如果传感器感知到色温偏高(偏蓝),我们就需要增加红色通道的增益,减少蓝色通道的增益,让白色回归中性。

核心公式(简化版):

R_gain = G_avg / R_avg × K_r

B_gain = G_avg / B_avg × K_b

其中 K_r 和 K_b 是色温补偿系数,由当前估计的色温决定。

4.2 灰世界假设:最朴素的起点

灰世界假设,说白了就是一句话:一张色彩丰富的图像,其所有像素的RGB平均值应该趋近于灰色。

为什么?因为自然界中各种颜色混合在一起,统计上会抵消掉,最终呈现中性灰。这个假设虽然粗糙,但它是很多自动白平衡算法的起点。我记得第一次在嵌入式平台上实现AWB时,用的就是灰世界假设,效果居然还不错——当然,前提是场景足够「丰富」。

算法流程很简单:

  1. 计算整幅图像的R、G、B通道均值:R_avg, G_avg, B_avg
  2. 计算理想灰色值:Gray = (R_avg + G_avg + B_avg) / 3
  3. 计算各通道增益:R_gain = Gray / R_avg, G_gain = Gray / G_avg, B_gain = Gray / B_avg
  4. 用增益校正每个像素

实战经验:灰世界假设在安防监控中有一个致命弱点——当场景被大面积单色物体占据时(比如绿色草坪、蓝色天空),均值会严重偏离灰色,导致白平衡完全失效。我曾经在一个高尔夫球场项目中吃过这个亏,后来不得不加入场景检测来规避。

4.3 完美反射理论:找画面中最亮的点

完美反射理论换个说法就是:图像中最亮的像素点,应该反射了光源的全部颜色,因此它应该是白色的。

这个理论比灰世界假设更「聪明」一些。它不依赖全局统计,而是寻找图像中的「高光点」——那些R、G、B值都接近最大值的像素。这些像素被认为是对光源的「完美反射」,它们的颜色就是光源的颜色。

实现步骤:

  1. 遍历图像,找出R、G、B三通道值都较高的像素(通常设定一个阈值,比如各通道值 > 200)
  2. 对这些候选像素的R、G、B分别求和,得到R_sum, G_sum, B_sum
  3. 计算增益:R_gain = G_sum / R_sum, B_gain = G_sum / B_sum
  4. 用增益校正全图

注意:完美反射理论在安防场景中也有坑。如果画面中没有真正的白色高光(比如阴天、夜间),或者高光区域被彩色物体占据(比如红色车灯),算法会误判。我曾经在隧道监控项目中遇到过——隧道内壁全是灰色,但车灯是红色和白色混杂,完美反射算法直接把整个画面拉成了青色。

4.4 两种理论的对比与融合

在实际工程中,我很少只用一种理论。灰世界假设和完美反射理论各有短板,但它们的短板恰好互补:

对比维度 灰世界假设 完美反射理论
依赖条件 场景色彩丰富 场景存在高光
失效场景 大面积单色 无高光或高光有色偏
计算复杂度 低(只需一次均值) 中(需要遍历+阈值判断)
稳定性 中等 较低(易受噪声影响)
适用场景 室外多变场景 室内有光源直射

我个人的做法是:先做场景分析,再决定用哪种理论,或者加权融合。比如,如果检测到画面中有大面积单色,就降低灰世界假设的权重,提高完美反射的权重;如果画面整体偏暗,就反过来。

融合策略示例:

R_gain_final = α × R_gain_gray + (1 - α) × R_gain_perfect

其中 α 由场景分析模块动态计算,取值范围 0.3 ~ 0.7。

4.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你可以把它当作白平衡基础理论的「地图」。

白平衡基础理论体系 白平衡核心问题 色温与白平衡关系 灰世界假设 完美反射理论 色温补偿:R/G/B增益调整 典型色温表(2000K-10000K) RGB均值 → 灰色 失效:大面积单色场景 寻找高光点 → 白色 失效:无高光/高光有色偏 融合策略:场景分析 + 加权 说明:三种理论各有短板,实际工程中需根据场景动态融合,才能获得稳定的白平衡效果。

看到这张图,你应该能明白:白平衡不是「一招鲜吃遍天」的事。色温是物理基础,灰世界假设和完美反射理论是两种不同的「观察角度」。把它们结合起来,才能应对安防监控中千变万化的光照环境。