012、RAW域预处理:黑电平校正、坏点校正与镜头阴影校正的算法与标定实战
一个让我半夜被电话叫醒的bug
2018年某款旗舰机项目,夜拍模式刚调通,产线突然报批量黑屏——不是全黑,是那种暗部发紫、边缘发绿、中间还有几个死像素点的“五彩斑斓黑”。产线经理在电话里吼:“你们Camera团队到底行不行?”我盯着log看了半小时,最后发现是RAW域预处理三个模块的流水线顺序搞反了:坏点校正跑在黑电平校正之前,导致暗电流被当成坏点给抹了,镜头阴影校正又拿错误的数据去算增益,整个链条崩了。
从那以后,我养成了一个习惯:RAW域预处理,顺序就是命。黑电平校正(BLC)→ 坏点校正(DPC)→ 镜头阴影校正(LSC),这个顺序谁动谁出事。
黑电平校正:你以为减个值就完事了?
很多新手拿到RAW图,第一反应是“黑电平不就是减去一个固定值吗?”然后对着全黑帧算个均值,代码里写一句 pixel -= black_level 就交差了。这种写法在实验室里能跑,一到量产就翻车。
真实场景下的黑电平有多野?
- 温度漂移:Sensor温度从-20℃升到60℃,暗电流能翻3-5倍。你冬天标定的黑电平,夏天用就是错的。
- 增益耦合:模拟增益每增加一倍,黑电平会跟着往上跳。我见过某颗Sensor在16x增益下,黑电平比1x时高了12个DN(12-bit RAW)。
- 列/行噪声:CMOS的读出电路天生有列方向噪声,每列的黑电平可能差
订阅专栏 解锁全文

366

被折叠的 条评论
为什么被折叠?



