096、自动白平衡(AWB)统计法:色温曲线拟合、灰点检测与光源估计实战

📅 2026/7/20 13:38:53
096、自动白平衡(AWB)统计法:色温曲线拟合、灰点检测与光源估计实战
096、自动白平衡(AWB)统计法:色温曲线拟合、灰点检测与光源估计实战一、从一次夜拍翻车说起去年夏天,某款旗舰机在夜景模式下拍出的照片,白墙变成了淡紫色,绿植偏蓝。用户投诉说“这手机色盲”。我拿到log一看,AWB模块把室内暖色灯光误判成了黄昏日光,色温估计差了3000K。问题出在哪?统计法里的灰点检测阈值设得太死,暗光下信噪比一掉,灰点全漏检了,光源估计直接放飞。这种场景我调试了不下五十次。AWB统计法看起来简单——不就是找灰点、拟合色温曲线吗?但真正落地时,从sensor raw域到ISP统计窗口,每一步都是坑。今天这篇笔记,我把这几年踩过的雷和填坑经验拆开揉碎,不讲教科书理论,只讲怎么在代码里让AWB不翻车。二、色温曲线拟合:别被黑体辐射曲线骗了2.1 理论曲线 vs 实际曲线教科书说色温曲线是普朗克黑体辐射在RGB色度图上的投影,一条平滑的弧线。但实际sensor的响应曲线根本不是那么回事。不同sensor的滤色片(CFA)透射率不同,同一色温下,R/G、B/G比值能差出15%。更坑的是,镜头的光学镀膜会引入色偏,尤其是广角镜头边缘,色温曲线会扭曲。我调试过一款OV64B sensor,它的R通道在低色温下响应偏低,导致色温曲线在3000K附近出现一个“塌陷”。如果直接用标准黑体曲线去拟合,估计出的色温会偏冷500K以上。解决办法是:每个sensor必须单独标定色温曲线。别偷懒用芯片厂商