左侧切换不同示例图;悬停或点击原图直方图后,只追踪当前灰度的计数、CDF 和映射后新灰度。
当照片整体偏暗、偏亮或灰度层次挤在一起时,原本该有的细节会糊成一片。任务是把集中在一起的灰度拉开,让暗部和亮部都能重新显出层次。
常用的处理办法是:先统计每个灰度级出现的次数,画出;再计算,建立旧灰度到新灰度的映射表;然后按这个映射表把原图像素逐点替换。原本出现很多的灰度被拉开,出现很少的灰度被合并,图像的自然增强。
切换不同示例图,比较原图、原直方图、CDF 映射曲线和均衡化后的结果;拖动阈值观察灰度分布被拉开的过程,注意当原图灰度集中在一侧时,均衡化效果最明显,但噪声也可能被一起放大。
: 原灰度级 k 经均衡化后映射到的新灰度值
: 原图中灰度级 i 的像素个数
: 图像总像素数(= 144)
: 累积分布函数(CDF)
* k 为输入灰度级索引;映射函数是单调递增的,保证输出图像保持灰度级的相对顺序。
CDF 从灰度 0 开始累加每个灰度级的像素占比:
均衡化将 CDF 值线性放大到 0-255 范围,使输出图像的直方图尽可能平坦, 从而增强图像的全局对比度。
* 离散灰度级下只能逼近均匀分布,实际输出不会完全平坦。
增强对比度:原直方图集中的区域被“拉伸”到更宽的灰度范围。
直方图趋平:均衡化后的直方图尽可能接近均匀分布,但受限于离散灰度级和像素数量, 实际输出不会完全平坦。
全局操作:均衡化使用整张图像的全局直方图,不依赖局部邻域信息。 这意味着相同灰度级的所有像素会被映射到同一输出值。
调整参数面板中的“示例图”类型,观察不同图像均衡化前后的直方图变化。