直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
方法简介
直方图均衡化通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,
直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的
骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化
函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度。
直方图均衡技术将原始图像的
灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布, 由于其算法简单, 无需借助外来因素的参数设置,可以自成系统的运行, 有效地增强图像对比度, 是一种常用的图像增强方法. 一直以来, 直方图均衡技术受到各个领域的重视, 比如在消费类电子产品邻域, 在均衡图像的同时希望保持图像的亮度信息。
实现过程
我们来看一个灰度图像,让ni表示灰度i出现的次数,这样图像中灰度为i 的像素的出现概率是
L 是图像中所有的
灰度数,n 是图像中所有的像素数, p 实际上是图像的直方图,
归一化到 0..1。
把 c 作为对应于 p 的累计概率函数, 定义为:
我们创建一个形式为 y = T(x) 的变化,对于原始图像中的每个值它就产生一个 y,这样 y 的累计概率函数就可以在所有值范围内进行
线性化,转换公式定义为:
yi = T(xi) = c(i)
注意 T 将不同的等级映射到 0..1 域,为了将这些值映射回它们最初的域,需要在结果上应用下面的简单变换:
上面描述了灰度图像上使用
直方图均衡化的方法,但是通过将这种方法分别用于图像
RGB颜色值的红色、绿色和蓝色分量,从而也可以对
彩色图像进行处理。
算法分类
全局直方图均衡算法
传统直方图均衡算法利用一个变换函数将输入图像的灰度级映射到输出图像, 使输出图像各灰度级相对均匀分布, 从而图像的对比度得到增强。
局部直方图均衡算法
与全局方法相比, 局部直方图均衡方法可以更好地增强图像的局部细节. 局部方法可以分为子块不重叠、子块重叠与子块部分重叠(POSHE)三种方法。
基于分频和融合的直方图均衡算法
考虑到将图像的高频分量和低频分量分开,对低频分量进行直方图均衡处理, 对高频分量进行线性加权增强, 再将两者融合, 就可以避免直方图均衡算法导致图像细节信息丢失和噪声放大的问题.
彩色图像直方图均衡算法
计算机视觉和计算机图形学的发展使得彩色图像和视频得到广泛应用, 对彩色图像进行直方图均衡的研究也越来越多, 现有的几种彩色图像直方图增强方法有如下几种:
(1) R、G、B 三幅子图像分别均衡并合并
灰度图像通过直方图均衡算法可以很好地达到对比度增强的效果, 但针对具有三个分量的彩色图像,通过简单的对R、G、B三幅子图像分别均衡及合并, 会使均衡后的图像出现严重的色彩失真现象, 其主要原因在于传统直方图均衡算法过度地增强了图像的亮度.因此, 采用这种方法进行彩色图像直方图均衡首要目标是增强
图像对比度时保持图像的亮度均值.
(2) 根据联合概率密度进行均衡
直接对彩色图像进行处理, 计算 R、G、B 三幅子图像的联合
概率密度函数, 并根据联合概率密度函数进行直方图均衡计算, 这种方法虽然一定程度消除了色彩失真的现象, 但是却因需要计算联合
概率密度函数加大了算法的复杂度, 运算十分困难.
这种方法将彩色图像从RGB彩色模型转化到HIS彩色模型, 然后对亮度分量I进行直方图均衡增强, 再还原到 RGB 模型中, 该方法使均衡次数从 3 次简化到1 次, 但是需要对图像进行彩色模型的相互转化, 仍需要一定的计算量, 并且增强后的图像也会存在过增强的现象。