
108、RAW域黑电平校正与坏点校正:动态阈值算法、产线标定与自适应修复策略去年在调试某款旗舰手机主摄时,遇到一个诡异的暗光偏色问题——夜景模式下,画面左下角总是泛着一层淡淡的紫红色,像被谁偷偷泼了墨水。ISP团队查了三天,AWB、CCM、LSC都翻了个底朝天,最后发现是黑电平校正(BLC)的静态值没跟上sensor温度漂移。那个场景我至今记得:sensor温度从25℃升到55℃,黑电平偏移了12个DN,而我们的BLC参数还是产线标定的固定值。这就是典型的“黑电平校正失效”引发的连锁反应——坏点检测也跟着一起崩了,因为坏点阈值是基于固定黑电平算的。今天这篇笔记,就把黑电平校正和坏点校正这两个RAW域最基础、也最容易出坑的模块,从原理到工程实现掰开揉碎。一、黑电平校正:不是简单的减一个数很多刚入行的工程师以为BLC就是“从每个像素减去一个固定值”,这个理解在十年前可能够用,现在动辄48MP、64MP的sensor,暗电流随温度、增益、曝光时间的非线性变化,固定减法只会让暗部信噪比雪上加霜。真实场景的挑战:sensor的OB(Optical Black)区域——那些被金属遮光层覆盖的像素——才是黑电平的“活体参照”。但OB像素本身也有工艺偏差,直接取均值会引入噪声。更麻烦的是,某些sensor的OB区域只有几行,统计样本不够,动态范围一高,OB均值抖得像心电图。动态阈值算法的核心思路:不依赖固定OB均值,而是对OB像素做“自适应统计”。我常用的做法是——先剔除OB区域中的异常值(比如被宇宙射线打穿的像素),然后用中位数代