黑电平校正(BLC)基础概念

各位同学,咱们今天聊聊黑电平校正。这名字听着挺学术,其实说白了,就是让摄像头在完全没光的时候,输出纯黑画面。你想想看,如果拍出来的黑色不是纯黑,而是发灰、发紫、发绿,那后面的图像处理全白搭。

我做了十几年ISP,见过太多项目因为黑电平没调好,导致整批摄像头返工。嗯,咱们从根上讲起。

什么是黑电平

黑电平,英文叫 Black Level,指的是图像传感器在完全没有光照输入时,输出的信号值。

理想情况下,没光就应该输出 0。但现实不是这样的。传感器本身有暗电流,ADC(模数转换器)也有偏移,所以实际输出会大于 0。这个大于 0 的底数,就是黑电平。

核心概念:黑电平 = 传感器在暗场条件下的输出信号值。校正的目的就是把这个值拉回到 0(或目标基准值)。

我习惯把黑电平理解成「图像的零点」。零点不准,整个画面的亮度、颜色都会跑偏。

黑电平产生的物理原因

为什么会这样?主要有两个罪魁祸首。

1. 暗电流

暗电流是半导体器件的固有特性。即使没有光子入射,硅基材料中的热激发也会产生电子-空穴对。温度越高,暗电流越大。

我记得有一次做户外枪机项目,夏天中午画面偏紫得厉害。查了半天,就是暗电流随温度漂移了。黑电平没跟上,颜色全乱套。

温度 暗电流典型值(e-/s) 对黑电平影响
25°C 10~50 轻微偏移
60°C 200~1000 明显抬升
85°C 1000~5000 严重漂移

避坑指南:我曾经在项目里直接用常温标定的黑电平值去处理高温场景,结果画面暗部全偏红。后来才意识到,暗电流随温度变化是非线性的,必须做温度补偿。

2. ADC 偏移

ADC 把模拟信号转成数字信号时,本身就有个基准偏移。不同通道的 ADC 偏移还不一样,这就导致了 R、G、B 三个通道的黑电平不一致。

你想想看,三个通道的零点都不一样,画面能不偏色吗?

个人经验:我建议在产线标定时,单独测量每个通道的黑电平值,不要偷懒用平均值。通道间的差异有时候能差到 5~10 个 DN 值,这在暗部就是肉眼可见的偏色。

黑电平对图像质量的影响

黑电平没校好,后果很严重。我总结了两大问题。

1. 偏色

刚才说了,R、G、B 三个通道的黑电平不一致,暗部就会偏色。最常见的是暗部偏紫或偏绿。

为什么偏紫?因为红色和蓝色通道的黑电平比绿色高,暗部就多了红蓝成分。为什么偏绿?反过来,绿色通道的黑电平偏高。

  • R 通道黑电平偏高 → 暗部偏红/偏紫
  • G 通道黑电平偏高 → 暗部偏绿
  • B 通道黑电平偏高 → 暗部偏蓝
  • 三通道同时偏高 → 画面发灰,对比度下降

2. 对比度丢失

黑电平抬升,相当于把整个画面的亮度底数往上提。暗部细节被压缩,对比度自然就差了。

我举个例子。假设 10-bit 的传感器,理想黑电平是 0。如果实际黑电平是 32,那暗部 0~32 这个区间的细节全丢了。本来能分辨的暗部纹理,现在全变成一片灰。

关键数据:黑电平每抬升 1%,暗部动态范围就损失约 1%。在安防监控的夜间场景,这个损失是致命的。

知识体系总览

下面这张图,把黑电平校正的核心逻辑串起来了。我建议你多看几遍,理解清楚再往下走。

黑电平校正(BLC)知识体系 黑电平校正(BLC) 产生原因 物理机制 影响后果 暗电流 热激发电子 ADC偏移 基准不一致 温度相关性 温度↑ → 暗电流↑ 偏色 RGB通道不一致 对比度丢失 暗部细节压缩 校正方法:暗场标定 + 实时减除 核心思路:先标定出黑电平值,然后在每个像素上减去这个值,把零点拉回正确位置 注意:不同通道、不同温度下的黑电平值不同,需要分别处理

小结

黑电平校正,说白了就是给图像定零点。零点不准,后面做白平衡、做伽马、做色彩校正,全是在错误的基础上折腾。

我个人习惯,拿到一个新 sensor 的第一件事,就是测它的黑电平特性。常温测一组,高温测一组,低温测一组。把数据摸透了,后面调 ISP 才心里有底。

给新手的建议:别急着调参数。先把黑电平的物理原理吃透,把暗电流和 ADC 偏移这两个概念搞清楚。基础打牢了,后面学镜头阴影校正、学 AWB,都会轻松很多。