04 · 偏色检测
偏色(Color Cast) 指画面整体色调偏移——偏黄、偏绿、偏蓝等,通常由白平衡错误、光源色温变化或 ISP 参数不当引起。
1. 为什么用 Lab 颜色空间
CIE L*a*b* 将亮度()与色度()分离:
| 通道 | 含义 |
|---|---|
| 亮度,0(黑)~100(白) | |
| 绿 ← → 红 | |
| 蓝 ← → 黄 |
正常中性灰应满足 。偏色时色度向量整体偏移。

整体色调偏移(已脱敏:去除 OSD 水印)
2. 偏色指数模型
对 通道统计:
平均色度偏移向量长度(偏离中性灰的程度):
色度离散度(颜色分布的 spread):
偏色指数:
- 大 → 整体色调偏移明显
- 小 → 颜色种类少(单色偏)
- 越大 → 偏色越显著
判定:
3. 几何解释
在 平面上,像素云中心距原点越远, 越大;云团越集中, 越小, 升高。
4. 实现要点
cpp
Mat lab;
cvtColor(bgr, lab, COLOR_BGR2Lab);
// 分离 a*, b* 通道(OpenCV Lab 为 8-bit 编码,需按标准转换)
Scalar meanA, stdA, meanB, stdB;
// ... meanStdDev 得 bar_a, bar_b, sigma_a, sigma_b
double D = sqrt(bar_a*bar_a + bar_b*bar_b);
double M = sqrt(sigma_a*sigma_a + sigma_b*sigma_b);
double K = D / (M + 1e-6);OpenCV 的
Lab为 编码,应用时需按 CIE 规范反量化到物理 ,或在整个流程中保持一致标定。
5. 与过亮/过暗的关系
极端过曝/欠曝也会改变可观测色度分布。工程上建议:
- 先排除蓝屏、死白区域
- 偏色检测可在中间亮度像素子集上统计(如 )
6. 局限
| 情况 | 影响 |
|---|---|
| 场景本身单色(蓝天、绿草地) | 可能偏高,需 ROI 或场景模型 |
| 艺术调色 | 非故障,业务层需白名单 |
7. 参考文献
- Hunter R S. Photoelectric color-difference meter. JOSA, 1948, 38(12): 1094–1102. — CIE Lab 基础。
- Finlayson G D, Schaefer G. Colour correction and the calibrated camera. CVPR Workshop, 2013.
- Ebner M. Color Constancy. Wiley, 2007. — 色恒性与偏色建模。
← 03 噪声 · 专题首页 · 下一篇:过亮与过暗 →




