一、直方图均衡化1.1 直方图简介在数字图像处理领域直方图作为一种可视化统计工具被广泛应用于图像分析的各个环节其中灰度直方图是针对单通道图像的核心统计表征。灰度直方图定量地刻画了图像内部的灰度级分布规律它能够直观地反映出整幅图像中不同明暗程度灰度级的像素占比情况。从数学定义上看灰度直方图是灰度级$ r$ 的离散函数h(r)h(r)h(r)其核心含义是统计图像中对应灰度级 r 的像素数量。在可视化表达中通常以灰度级作为横坐标以该灰度级出现的频数或频率作为纵坐标以此构建图像的灰度密度分布曲线。1.2 直方图的性质直方图是图像灰度统计分布的核心表征它定量反映了图像中不同灰度级出现的频数。该统计量仅关注像素的灰度值分布完全不包含像素的空间坐标信息因此具备旋转不变性与平移不变性是一种鲁棒性较强的图像全局特征。从唯一性来看特定图像与其直方图呈一一对应关系反之不成立即不同图像可能拥有相同的灰度直方图。1.3 直方图的应用1.4 直方图均衡化直方图均衡化Histogram Equalization是一种通过数学变换调整图像灰度分布的图像处理技术。其核心原理是将原图像的直方图通过变换函数映射为均匀分布的形式使图像的灰度级覆盖整个动态范围。通过这一过程原本过暗或过亮的细节被拉伸开了显著增强图像的整体对比度图像的视觉效果就变好了细节更清晰。要把图像的亮度范围拉开、增强对比度我们需要一个灰度映射规则它必须满足两个核心要求不打乱明暗顺序原来亮的像素映射后依然是亮的原来暗的像素映射后依然是暗的保证图像结构不变不超出灰度范围比如 8 位图像映射后的像素值必须还在 0~255 之间不能溢出。本质上这是一种利用CDF-累积分布函数进行灰度映射的算法旨在使直方图趋于平坦实现图像增强的效果。1.5 直方图均衡化核心公式推导核心约束累加直方图直方图均衡化要求输入与输出的累加直方图守恒对输入灰度p∈[0,255]p∈[0,255]p∈[0,255]存在输出灰度q∈[0,255]q∈[0,255]q∈[0,255]满足∑k0phistinput(k)∑k0qhistout(k)\sum_{k0}^{p} hist_{input}(k) \sum_{k0}^{q} hist_{out}(k)k0∑p​histinput​(k)k0∑q​histout​(k)均衡化假设设图像尺寸为 H×W总像素数 NH×W均衡化后每个灰度级像素数近似均匀histout(k)≈H⋅W256, k∈[0,255]hist_{out}(k) \approx \frac{H \cdot W}{256}, \ k \in [0, 255]histout​(k)≈256H⋅W​,k∈[0,255]公式推导将均匀分布代入累加守恒公式∑k0phistinput(k)≈(q1)⋅H⋅W256\sum_{k0}^{p} hist_{input}(k) \approx (q 1) \cdot \frac{H \cdot W}{256}k0∑p​histinput​(k)≈(q1)⋅256H⋅W​​整理求解 q得到最终映射公式q≈(∑k0phistinput(k)H⋅W)×256−1q \approx \left( \sum_{k0}^{p} \frac{hist_{input}(k)}{H \cdot W} \right) \times 256 - 1q≈(k0∑p​H⋅Whistinput​(k)​)×256−1公式说明∑k0phistinput(k)\sum_{k0}^{p} hist_{input}(k)∑k0p​histinput​(k)输入图像的累加直方图CDFhistinput(k)H⋅W\frac{hist_{input}(k)}{H \cdot W}H⋅Whistinput​(k)​​灰度级 k 的出现概率最终公式实现了从原始灰度ppp到均衡化后灰度qqq的映射1.6 示例其完整实现流程如下遍历原始灰度图像的所有像素统计得到灰度直方图 H即各灰度级的像素数量分布基于灰度直方图计算累积分布函数CDF也就是累加直方图利用累积直方图与均衡化原理推导输入灰度到输出灰度的映射关系依据该映射关系dst(x,y)H′(src(x,y))dst(x,y)H′(src(x,y))dst(x,y)H′(src(x,y))对原图像进行逐像素变换最终得到均衡化后的图像。