3、黑电平校正(BLC):黑电平产生原因、校正原理、参数调试方法

黑电平校正,圈里人常叫它BLC。这玩意儿看着基础,但调不好,整张图就废了。我刚开始做ISP那会儿,就吃过这个亏——拍出来的夜景总觉得蒙了一层灰,怎么调都不对劲。后来才发现,是黑电平没校正好。

今天咱们就把BLC这事儿彻底聊透。从原理到实战,我踩过的坑,你一个都别踩。

3.1 黑电平是怎么来的?

说白了,黑电平就是传感器在「完全没光」的时候,输出的信号值。理论上应该是0,但实际不是。

为什么会这样?主要有三个原因:

  • 传感器暗电流:半导体器件天生就有漏电,温度越高越明显。夏天拍夜景,暗电流能比冬天高好几倍。
  • ADC偏移:模数转换器不是完美的,它有个固定的偏置电压。这个偏移量,每个芯片都不一样。
  • 电路噪声:电源纹波、地弹、串扰...这些都会在暗场信号上叠加一个直流分量。

我记得有一次调试一个车规级传感器,常温下黑电平才64,一跑到85°C,直接飙到128。当时我就意识到,BLC不光是静态校正,还得考虑温度补偿。

关键认知:黑电平不是噪声,是偏置。它把整个图像的亮度抬高了。如果不校正,暗部细节全被淹没了。

3.2 校正原理:减掉那个不该有的值

校正原理其实特别简单——找到黑电平的值,然后从每个像素里减掉它。

公式长这样:

P_out = P_raw - BLC_offset

但问题来了:黑电平不是一个固定值。它随温度变,随增益变,甚至随像素位置变。

所以实际工程中,我们一般用两种方法:

3.2.1 光学黑区法(OB,Optical Black)

传感器边缘有一排被遮光的像素,它们永远接收不到光。这些像素的输出,就是当前条件下的黑电平。

做法是:

  • 取OB区域所有像素的平均值
  • 或者取中位数(抗噪性更好)
  • 用这个值去校正有效像素

我建议用中位数。为什么?因为OB区域也可能有坏点,平均值会被坏点拉偏。中位数就稳多了。

3.2.2 固定值法

有些低端方案,或者环境非常稳定的场景,直接用出厂标定的固定值。

比如某款传感器,标定黑电平是64。那每次开机就直接减64。简单粗暴,但温度一变就露馅。

我的经验:固定值法只适合室内监控这种恒温场景。车载、户外、手机,老老实实用OB法。

3.3 参数调试方法:手把手教你调

好了,原理讲完了。咱们来点实际的——怎么调参数?

调试BLC,核心就三个参数:

参数名 含义 典型范围
blc_offset 黑电平偏移量 0~255(8bit)
blc_mode 校正模式 0=固定值,1=OB动态
ob_clip OB区域裁剪阈值 0~1023

3.3.1 第一步:确定校正模式

我个人习惯,先看应用场景:

  • 室内、恒温 → 固定值模式,省资源
  • 户外、车载、手机 → OB动态模式,保精度

你想想看,如果手机拍夜景时还用固定值,那画面暗部不是偏紫就是偏绿。为什么?因为不同颜色通道的黑电平不一样啊!

3.3.2 第二步:标定黑电平

如果是固定值模式,需要做一次标定:

  1. 盖上镜头盖,确保完全无光
  2. 拍一张暗场图
  3. 统计所有像素的均值
  4. 这个均值就是blc_offset

我曾经遇到一个项目,标定出来的黑电平是63.5。你说我取63还是64?取63,暗部偏暗;取64,暗部偏亮。最后我取了64,因为宁可亮一点,也不能丢暗部细节。

注意:标定时一定要在目标温度下做。常温标定的值,到高温下就不准了。

3.3.3 第三步:微调与验证

参数写进去之后,怎么验证调对了?

我的方法是看直方图:

  • 拍一张全黑图,直方图应该紧贴0
  • 如果直方图离0有一段距离,说明减多了(过校正)
  • 如果直方图在0附近有大量堆积,说明没减够(欠校正)

嗯,这里要注意:过校正比欠校正更可怕。过校正会把暗部细节直接裁掉,变成死黑。欠校正至少还能后期拉回来。

3.4 避坑指南

做BLC调试这些年,我总结了几条血泪教训:

  • 别忽略R/G/B通道差异:彩色传感器的BLC,每个通道都要单独校。我曾经偷懒只校了G通道,结果拍出来的灰卡偏紫,被客户骂了一周。
  • OB区域别取太少像素:至少取32行。取少了,噪声太大,校正值跳来跳去。
  • 注意HDR模式:HDR多帧合成的BLC,每帧的增益不同,黑电平也不同。要逐帧校正,不能偷懒用同一个值。

小技巧:调试时可以在暗室拍一组不同增益的暗场图,画出「增益 vs 黑电平」曲线。有了这条曲线,后续调参就能直接查表,省很多事。

3.5 总结一下

黑电平校正,说白了就是「找到那个不该有的偏置,然后减掉它」。听起来简单,但要做好,得考虑温度、增益、通道差异、OB区域设计...每一个细节都可能翻车。

我个人建议,新手先从固定值模式入手,把流程跑通。等理解了原理,再上OB动态模式。别一上来就搞复杂的,容易把自己绕进去。

下一章咱们聊镜头阴影校正(LSC),那个更刺激——画面四角发暗的问题,调不好整张图都是废的。到时候见。