Gracekite's Homepage

Back

03 图像直方图与简单点运算

图像直方图、点算子、直方图均衡化与噪声方差均衡化。

来源#

  • 2021-pho1-03-img-histo-1-histograms.pptx.pdf,共 36 页(Part 1:直方图基础)
  • 2021-pho1-04-img-histo-2-transformations.pptx.pdf,共 53 页(Part 2:直方图变换)
  • 作者:Cyrill Stachniss

Part 1: Image Histograms and Simple Point Operators#

1. 灰度图像与图像函数#

  • 灰度图像可视为二维强度测量网格,也常表示为 矩阵,像素值取值范围为
  • 图像强度可表示为函数 其中通常

2. 图像直方图(Image Histogram)#

  • 直方图是数值数据分布的近似表示;图像直方图则表示图像强度值的分布。
  • 定义: 即统计图像中取值为 的像素个数。
  • 概率(经验概率密度函数,empirical PDF):
  • 计算算法:创建长度为 256 的向量 并初始化为 0,对每个像素 执行 。时间复杂度为 ,与像素数成线性关系。

累积直方图与经验 CDF#

  • 累积直方图(cumulative histogram)定义为
  • 经验累积分布函数(empirical CDF)为
  • 是强度值的经验 PDF, 是经验 CDF。

3. 直方图反映的图像信息#

  • 强度分布描述图像的亮度、对比度等属性:
    • Mean(均值) 描述 brightness(亮度)
    • Variance(方差) 描述 contrast(对比度)
    • Median(中位数) 是亮度的稳健描述。
  • 改变均值的变换会改变图像亮度;改变方差的变换会改变图像对比度(增大方差即增大对比度)。

4. 图像算子(Operators)#

  • 三类算子:
    • Global operator(全局算子):整幅图像参与运算;
    • Local operator(局部算子):基于局部邻域运算;
    • Point operator(点算子):仅根据单个像素的输入值计算输出值。

点算子(Point Operator)#

  • 点算子仅依据输入像素的强度值映射到新值,与其他像素值无关:
  • 一般形式为 其中 为输入, 为输出, 为参数。

线性函数#

  • 最基本的函数类为线性函数: 因此
  • 线性函数下均值与标准差的传播为

常见图像变换#

操作参数条件效果
增加亮度整体变亮
降低亮度整体变暗
增加对比度拉伸强度范围
降低对比度压缩强度范围
对比度反转 / 负片黑白反转
  • 注:由于像素值被限制在 ,实际线性映射常需要截断(clamping),并非完全线性。

非线性函数#

  • 阈值化(Thresholding) 常见取值为
  • 时,得到二值图像(binary image)
  • 量化(Quantization):二值图像是量化的特例;量化即将灰度值舍入到一组离散值。最优编码应选择使舍入误差最小的量化方式。

点算子的实现#

  • 点算子可通过查找表(look-up tables)高效实现:预先计算 256 种可能输出并存入数组,实际运算只需读取内存。

5. 彩色图像与摄影中的色调曲线#

  • 对彩色图像,通常对每个颜色通道分别建立直方图。
  • 摄影软件中的 Tone Curve(色调曲线) 本质上就是点算子:通过曲线调整输入与输出强度的映射关系,以改变亮度、对比度等。详见 2021-pho1-03-img-histo-1-histograms.pptx.pdf 第 34 页。

Part 2: Histogram Transformations#

1. 从变换函数预测输出直方图#

  • 已知单调变换 与输入直方图 ,可计算输出直方图 ,并据此设计

PDF 的变换#

  • 区间 内的“面积”被映射到 ,像素总数保持不变,因此
  • 由此得到
  • 由于 应依赖于 而非 ,利用逆函数 ,有

线性函数示例#

  • ,则 ,逆函数
  • 代入上式得
  • 这对应于直方图平移 并缩放

2. 直方图均衡化(Histogram Equalization)#

  • 目标:设计变换,使得输出图像在每个直方图 bin 中的像素数相同,即
  • 对于单调递增的 ,结合 PDF 变换公式 可得
  • 两边积分: 右侧是输入直方图的积分,即累积直方图 ,因此
  • 参数 通常按边界条件选取: 由于 ,代入得 解得
  • 最终得到直方图均衡化的点算子: 该式将输入强度谱映射到完整的 范围。

均衡化的效果与说明#

  • 通常能增强对比度;局部对比度较低的区域获得更大的对比度提升。
  • 将强度分布“铺开”到整个直方图。
  • 连续情形与离散情形:连续世界中可得到完全平坦的输出直方图;离散图像由于像素值和 bin 数有限,只能做到“尽可能平坦”,输出直方图呈阶梯状。
  • 变体:
    • AHE(Adaptive Histogram Equalization):在局部小块而非整幅图像上做均衡化。
    • CLAHE(Contrast Limited AHE):限制 AHE 在均匀区域中的过度放大。

3. 噪声方差均衡化(Noise Variance Equalization)#

动机:泊松分布#

  • 光子到达传感器的数量服从泊松分布: 其中 为每秒平均入射光子数, 为曝光时间。
  • 均值与方差均为
  • 标准差 ,相对精度为
  • 因此,光子计数越高,方差越大;强度测量带有噪声,且噪声水平与强度相关。

方差均衡化推导#

  • 假设强度 的方差与强度成正比:
  • 目标:使输出 的标准差对所有强度均为常数:
  • 对单调递增函数 ,方差传播给出
  • 代入 并整理:
  • 积分得
  • 使得 ;再选择 使得 ,即
  • 最终得到
  • 该平方根函数会拉伸暗部压缩亮部,从而使所有像素强度具有相同的噪声方差。

总结#

  1. 图像直方图表示图像强度分布,可用于分析亮度、对比度等特性。
  2. 点算子是最简单的图像变换,仅依据单个像素值进行映射,可用查找表高效实现。
  3. 线性变换调整亮度()和对比度();阈值化/量化是非线性点运算的重要例子。
  4. 单调点算子下输出直方图可由输入直方图与变换函数导出:
  5. 直方图均衡化通过累积直方图将强度映射到整个动态范围,增强对比度。
  6. 噪声方差均衡化利用方差传播推导平方根变换,使不同强度的像素具有相同的噪声方差。