2、光源与色温:常见光源色温表与RGB响应关系
做图像传感器调试,第一个要打交道的概念就是色温。说白了,色温就是描述光源颜色的一个数值。你想想看,为什么同一张白纸,在室内灯光下拍出来偏黄,在室外阴天拍出来偏蓝?这就是光源色温在作怪。
我个人习惯把色温理解成「光的性格」。低色温的光偏暖,像火焰;高色温的光偏冷,像阴天的天空。这个直觉对调试很有帮助。
2.1 色温的物理本质
色温的单位是开尔文(K)。它的定义来自一个理想黑体:当你加热一个黑体,温度升高到某个值时,它发出的光的颜色就和某个光源的颜色一样。这个温度值就是该光源的色温。
举个例子:
- 蜡烛火焰约 1800K,偏橙红色
- 白炽灯约 2800K,偏黄色
- 正午日光约 5500K,接近白色
- 阴天天空约 6500K,偏蓝色
这里有个容易搞混的点:色温越高,颜色越冷(偏蓝);色温越低,颜色越暖(偏红)。我刚入行时总记反,后来想了个办法——「高温烧蓝」,温度高了烧出蓝色,这样就记住了。
2.2 常见光源色温表
调试白平衡,必须熟记几个标准光源。这些光源在实验室和产线上天天见。我整理了一张表,建议你存下来:
| 光源名称 | 色温(K) | 特点 | 典型场景 |
|---|---|---|---|
| D65 | 6500 | 标准日光,CIE 推荐 | 户外晴天、显示屏白点 |
| D50 | 5000 | 印刷行业标准 | 印刷品对色、摄影灯箱 |
| A 光源 | 2856 | 白炽灯,暖黄 | 室内钨丝灯环境 |
| TL84 | 4000 | 荧光灯,冷白 | 办公室、商场 |
| CWF | 4150 | 北美商用荧光灯 | 北美超市、仓库 |
| U30 | 3000 | 暖白荧光灯 | 酒店、餐厅 |
| H 光源 | 2300 | 高压钠灯 | 路灯、停车场 |
2.3 色温与 RGB 响应的关系
好了,现在进入核心问题:色温怎么影响传感器的 RGB 输出?
传感器的每个像素只能感知光的强度,不能直接知道颜色。我们靠滤色片(CFA)让不同像素分别对红、绿、蓝光敏感。但滤色片不是完美的——它对不同波长的光响应不一样。
当光源色温变化时,光谱能量分布会变。举个例子:
- 低色温(A 光源 2856K):红光能量强,蓝光能量弱。传感器 R 通道输出高,B 通道输出低。
- 高色温(D65 6500K):蓝光能量强,红光能量弱。传感器 B 通道输出高,R 通道输出低。
- 中间色温(TL84 4000K):红绿蓝相对均衡,但绿光略占优势。
这就是白平衡要解决的问题——把不同光源下的 R/G/B 比例拉回到标准值。
2.4 色温与 R/G、B/G 比值的可视化
我在项目中经常用一张图来向团队解释色温对 RGB 的影响。下面这张 SVG 图展示了不同光源下 R/G 和 B/G 的典型比值:
从这张图可以清楚看到:随着色温升高,R/G 比值下降,B/G 比值上升。白平衡算法要做的就是沿着这条轨迹反向校正。
2.5 实战中的注意事项
几个实战要点:
- 光源稳定性:实验室用的灯箱要定期校准。我见过灯管老化导致色温漂移 200K 的情况,白平衡数据全废了。
- 环境光干扰:暗室不是全黑,显示器、仪器指示灯都会引入杂散光。调试时记得用遮光布。
- 光源均匀性:灯箱边缘和中心色温可能差 100-300K。用灰卡放在 sensor 正前方测,别放角落。
- 色温计 vs 软件估算:我习惯先用色温计实测灯箱,再用软件估算做对比。两者偏差超过 100K 就要查原因。
2.6 色温与白平衡增益的换算
实际调试中,我们经常需要根据目标色温反推白平衡增益。这里给一个简化模型:
// 假设 sensor 在 D65 下的 R/G 和 B/G 为基准
// 目标:将 A 光源下的图像校正为 D65 效果
// 已知:
// D65 下:R/G_ref = 0.8, B/G_ref = 1.2
// A 光源下:R/G_raw = 1.6, B/G_raw = 0.5
// 计算增益:
R_gain = (R/G_ref) / (R/G_raw) = 0.8 / 1.6 = 0.5
B_gain = (B/G_ref) / (B/G_raw) = 1.2 / 0.5 = 2.4
G_gain = 1.0 // 通常固定 G 通道
// 最终增益:R:0.5, G:1.0, B:2.4
// 注意:实际应用中需要做归一化,防止增益过大导致噪声放大
2.7 不同色温下的调试策略
调试白平衡不是对所有色温一视同仁。我一般按色温区间制定不同策略:
| 色温区间 | 典型光源 | 调试重点 | 常见问题 |
|---|---|---|---|
| 2000-3000K | A 光源、H 光源 | B 通道增益控制,防止蓝色噪声 | 偏黄、暗部偏绿 |
| 3000-4500K | TL84、CWF | G 通道平衡,荧光灯频闪抑制 | 偏绿、肤色失真 |
| 4500-5500K | D50、正午日光 | 整体白平衡精度,灰卡还原 | 轻微偏色 |
| 5500-7500K | D65、阴天 | R 通道增益控制,防止红色噪声 | 偏蓝、高光偏紫 |
嗯,这里要注意:不同 sensor 对不同色温的响应曲线不一样。CMOS 和 CCD 的差异、背照式和前照式的差异,都会影响实际增益值。所以上面的表格只是一个起点,具体数值要靠实测来标定。
好了,关于光源和色温的基础知识就讲到这里。记住一句话:白平衡调试的本质,就是理解光源、理解 sensor、然后找到它们之间的平衡点。