1. 动态范围计算的核心原理
动态范围(Dynamic Range)是衡量图像传感器或成像系统能够同时捕捉最亮和最暗细节能力的关键指标。在计算机视觉和图像处理领域,准确计算单帧图像的动态范围对于后续的曝光控制、色调映射等处理至关重要。
动态范围的数学定义为:
DR = 20 × log10(Imax / Imin)
其中:
- Imax代表图像中最亮的有效信号值
- Imin代表图像中最暗的有效信号值
- 结果以分贝(dB)为单位表示
在实际工程实现中,我们通常采用log2计算,因为:
- 与摄影中的"档"(stop)概念直接对应
- 计算更高效,适合嵌入式系统
- 结果更直观,每增加1代表亮度翻倍
因此工程上常用:
DR_stops = log2(Imax / Imin)
注意:这里的关键是"有效"信号值的确定。直接取图像最大/最小像素值会导致结果失真,因为可能包含噪声或异常值。
2. 动态范围计算的工程实现方法
2.1 直方图截尾法(推荐方案)
这是工业界最常用的稳定算法,具体步骤如下:
- 将RGB图像转换为亮度通道(推荐使用Y = 0.299R + 0.587G + 0.114B)
- 计算亮度直方图(通常使用256bin)
- 确定有效范围:
- Imin:直方图累计达到总像素0.1%时的亮度值
- Imax:直方图累计达到总像素99.9%时的亮度值
- 计算动态范围:DR = log2(Imax / Imin)
import nump


321

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



