理解直方图均衡化(强度分布均等化)

直方图均衡量化(均等化)

(Histogram equalization)

目录

1.  概述

2.  背景

3.  直方图之反向投影(Back projection)

4.  实现过程

5.  关于彩色图像的直方图均衡化

6.  直方图均衡化例子


    直方图均衡化是图像处理中利用图像直方图调整对比度的一种方法

    直方图均衡化是更通用的直方图重映射方法(remapping)的一个特例这类方法旨在调整图像使其更易于分析或提升视觉质量(例如 Retinex 算法)。

1.  概述

    这种方法通常可以提高许多图像的整体对比度,尤其是在图像强度值范围较窄的情况下。通过这种调整,强度可以更好地分布在直方图上,均匀地利用整个强度范围这使得局部对比度较低的区域能够获得更高的对比度。直方图均衡化通过有效地分散那些密集的强度值来实现这一点,而这些强度值往往会降低图像的对比度

    该方法适用于背景和前景同亮或同暗的图像特别是,该方法可以更好地显示 X 射线图像中的骨骼结构,并在曝光过度或曝光不足的照片中显示更好的细节该方法的一个主要优点是它是一种相当简单的技术,可以自适应输入图像和可逆运算。因此,在理论上,如果已知直方图均衡函数,则可以恢复原始直方图。计算量并不大。该方法的一个缺点是它不具区分性。它可能会增加背景噪声的对比度,同时降低可用信号。在科学成像中,空间相关性比信号强度更重要(例如分离量化长度的 DNA 片段),较小的信噪比通常会妨碍视觉检测

    直方图均衡化通常会在照片中产生不真实的效果然而,它对于热成像、卫星图像或X射线图像等科学图像非常有用,这些图像通常与伪彩色处理属于同一类此外,当应用于色深较低的图像时,直方图均衡化也会产生不良效果(例如可见的图像渐变)。例如,如果将直方图均衡化应用于使用8位灰度调色板显示的8位图像,它会进一步降低图像的色深(即不同灰度等级的数量)。直方图均衡化在应用于色深远高于调色板大小的图像(例如连续数据或16位灰度图像)时效果最佳。

直方图均衡的实现有两种方式:一是图像变换,二是调色板变换。该操作可以表示为 P(M(I)),其中 I 为原始图像,M 为直方图均衡映射操作,P 为调色板。如果我们将新调色板定义为 P^{'}=P(M) ,并保持图像 I 不变,则直方图均衡的实现方式为调色板变换或映射变换。另一方面,如果调色板 P 保持不变,并将图像修改为 P^{'}=P(M) ,则该实现方式为图像变换。在大多数情况下,调色板变换是首选,因为它可以保留原始数据

该方法的改进版本使用多个直方图(称为子直方图)来强调局部对比度,而非整体全局对比度。此类方法的示例包括自适应直方图均衡化及其变体,例如对比度受限自适应直方图均衡化、多峰直方图均衡化以及多用途β优化双直方图均衡化 (MBOBHE)。这些方法(尤其是 MBOBHE)的目标是修改算法,以提高对比度,同时避免亮度均值漂移和细节损失伪影(artifacts)。

    类似于直方图均衡化的信号变换似乎也发生在生物神经网络中,目的是最大化神经元作为输入统计数据函数的输出发放率。这在苍蝇视网膜中得到了证实。

2.  背景

    要理解直方图均衡化,首先必须理解图像中对比度的概念对比度定义为图像中两个物体之间的颜色或强度差。如果对比度太低,则视觉无法区分两个物体,它们会被看作一个物体。在图 1 中,对比度很高,黑色和灰色很容易区分。在图 2 中,灰色和较深的灰色很难区分。这是因为颜色非常接近,人眼会将这两种颜色视为一种颜色。

-------------------------------------图1:高对比底-------------------------------------------

----------------------------------图2:低对比底---------------------------- 

 这两幅图像可视为具有 1×2 像素的分辨率。为简单起见,本文仅讨论 8 位灰度图像,其强度值在 0 到 255 之间变化。这意味着每个像素只有一个强度值,没有颜色值。通过查看图 1,可以看到右侧像素完全为黑色,强度为 0;左侧像素非常亮,强度为238。在图 2 中,这两个像素的强度值分别为 238 和 228。对比度的计算公式有很多,但关键在于,强度差异越大,对比度就越大。为了以不同于直接观察图像的方式来直观地显示图像中的对比度,可以使用强度直方图。强度直方图是包含所有可能强度分布的直方图。8 位图像有 256 个不同的强度值因此 x 轴包含 256 个不同的值y 轴显示每个强度值的数量。8 位灰度图像的典型强度直方图可能类似于图 3 中的直方图。

  ----------------------------------图3:强度直方图----------------------------

这个强度直方图是一个典型的“好”直方图示例,这意味着几乎所有像素都得到了利用。这很好,因为整个可用的强度范围都对图像有贡献。用直方图表示彩色图像可能稍微困难一些,最简单的方法可能是创建三个直方图,一个用于红色,一个用于绿色,一个用于蓝色,但这超出了本文的讨论范围。图4是另一个示例直方图。与此直方图对应的图像看起来与上一个示例中的图像略有不同。在这个直方图中,像素更集中于光谱中间的强度。所有像素都在95到180之间。此范围之外的可用强度值未被使用。可以得出结论,这幅图像的对比度较低(译注:强度差越大,对比度越大),因为只使用了一部分可用像素值如果只使用了一小部分,那么拥有较大的范围是没有意义的

----------------------------------图4:强度直方图---------------------------- 

如果图像的直方图类似于图 4 所示的直方图,人眼可能难以观看这是因为人眼对强度的敏感度是非线性的,而负责捕捉光线的传感器则以更线性的方式工作。为了给人眼提供尽可能最佳的视觉条件,可以对图像进行调整,以便使用所有可用的像素强度。这被称为直方图均衡化。(译注:也就是说,让一些像素的强度降低,让另一些像素的像素增强,使其强度值在直方图上看起来比较均匀地分布,以达到增强对比度的目的。)

3.  直方图之反向投影(Back projection)

    直方图图像之反向投影(或“投影(projection)”)是将修改后的直方图重新应用于原始图像其功能相当于像素亮度值的查找表(译注:即根据修改后的直方图形成一个像素表,根据这个像素表生成新的图像,即根据直方图均衡化结果生成新的图像)

    对于从所有输入单通道图像的相同位置获取的每一组像素,该函数将直方图桶值放入目标图像,其中桶的坐标由该输入组中的像素值决定。从统计学角度来看,每个输出图像像素的值表征了相应输入像素组属于所用直方图对象的概率。

4.  实现过程

将图像像素映射到新的像素值以增加图像整体对比度的数学过程非常简单。像素的强度用 i 表示,可用的强度为 0 ≤ iL - 1,其中 8 位图像的 L (译注:强度等级总数)为 256,因此可用的强度为 0 到 255。强度 () 值为 L - 1 时被视为白色,强度 () 值为 0 时被视为黑色最好有一个函数,根据像素的强度值以及该强度值出现的次数为该像素分配一个新的强度值,这个函数定义为 T()。

(1)             s = T(i) \quad (0 \leq i \leq L - 1) 。

s 是基于旧像素值的新像素值。现在很清楚,对图像执行直方图均衡化会对数据进行处理,如果对一幅像素值表示某种温度的灰度图像执行直方图均衡化,新的像素值将具有不同的温度。虽然整体对比度更高,但新的温度并不代表真实温度,而是由软件指定的温度。函数 T() 应该在区间 0 ≤ iL - 1 内单调递增要求它单调递增是为了确保像素强度不会发生反转。例如,T(10) = 5 和 T(11) = 4 是不可能的。另一个限制是 0 ≤ T(i) ≤ L – 1 ,这样原始图像和输出图像的强度范围相同。

    图像中的强度值可以视为随机变量,其值介于 0 到 L – 1 之间。此类随机事件具有与其自身关联的累积分布函数 (CDF- cumulative distribution function)。该函数描述了随机变量被赋予小于或等于特定值的可能性。例如,掷骰子时,骰子最终显示 2 或小于 2 的概率为 1/6 + 1/6 = 2/6。这意味着 CDF(骰子 ≤ 2 ) = 概率(骰子 = 1) + 概率(骰子 = 2)。

(2)                 \displaystyle \text{CDF}( i \leq t ) = \sum_{k=0}^{t}p_{k}   。

公式 (2) 描述了像素强度等于或低于 t 的概率的累积分布函数 (CDF)。随机像素强度值为 k 的概率等于强度值为 k 的像素数除以像素总数,参见公式 (3)。

(3)      

这些值通常是标准化的,因此  p_{0} + p_{1} + ... + p_{L-1} = 1  。任何像素的强度值在可接受范围 (0 ≤ iL - 1) 内的总概率当然是 1。目标是创建某种变换 s = T(),以创建一个新图像,其直方图更类似于图 3 而不是图 4。这意味着 CDF 应该更像一个线性函数,而不是像公式 (2) 那样的严格增函数。图 5 和图 6 中显示了具有灰度值和相应直方图的图像。该图像的范围从 0 到 9,这意味着 0 ≤ i ≤ 9 。 

---------------------------------图 5--------------------------------------

 ----------------------------------图 6----------------------------------------

 图像的直方图告诉用户大多数像素的值都在 5 左右。可以创建一个表,其中包含每一个强度值以及包含该值的像素数,如表 1 所示。强度值可以被视为热像仪产生的温度。

------------------------------------表1------------------------------------

表1显示的信息与直方图相同,但如果查看表格,可能会更容易理解。使用公式(3),可以创建以下值:

(4)

可以通过将所有概率值相加并确认其和等于 1 来检查计数误差,结果确实如此。现在进入变换部分,变换 T() 由公式 (5) 给出。

(5)

\displaystyle s = T(i) = floor((L - 1)*\sum_{k=0}^{i}p_{k} ) = floor(9*\sum_{k=0}^{i}p_{k} )   。

其中 floor 是向下最接近的整数,7.3 将是 7,4.7 将是 4,依此类推。此变换使用每一个强度值的概率值和可用范围为每个旧像素值 () 创建一个新像素值 (s)。使用公式 4 和公式 5,可以创建表 2 。

-----------------------------------表2-------------------------------------

表 2 是从输入图像到输出图像的理想映射,新图像如图所示。请注意,强度值 0、1 和 9 在输入图像中不存在,但无论如何都会包含在内。生成的图像及其直方图如图 7 和图 8 所示。

-----------------------------------图7-------------------------------------

 

-----------------------------------图8------------------------------------- 

生成的图像直方图在整个范围内分布得更好,这将使所有像素的整体对比度更高。如果将灰度调色板应用于图 5 和图 7,结果将如图 9 和图 10 所示。

-----------------------------------图9------------------------------------- 

-----------------------------------图10------------------------------------- 

绘制变换函数图也很有趣,它可以让用户直观地看到像素值的变化。图 11 展示了变换函数。

-----------------------------------图11-------------------------------------

图10所示的变换后图像比原始图像对比度更高但像素值发生了变化,这意味着信息丢失了。使用直方图均衡化时必须记住这一点。

5.  关于彩色图像的直方图均衡化

以上描述了灰度图像的直方图均衡化。然而,它也适用于彩色图像,只需将相同的方法分别应用于图像 RGB 颜色值的红、绿、蓝分量即可。然而,将相同的方法应用于 RGB 图像的红、绿、蓝分量可能会导致图像色彩平衡发生显著变化,因为应用该算法后,颜色通道的相对分布会发生改变。但是,如果先将图像转换为另一个颜色空间,例如 Lab 颜色空间,或者 HSL/HSV 颜色空间,则可以将该算法应用于亮度或值通道,而不会导致图像的色调和饱和度发生变化。三维空间中有几种直方图均衡化方法。Trahanias 和 Venetsanopoulos 在三维颜色空间中应用了直方图均衡化。然而,它会导致“白化”,即亮像素的概率高于暗像素。Han 等人提出了使用由等亮度平面定义的新的累积分布函数,实现了均匀的灰度分布。

6.  直方图均衡化例子

(1) 小图像示例

上述实现过程中使用的是小图像。

(2) 全尺寸图像

----------------------------------原图像-------------------------------------

-----------------原图像对应的直方图(红色)以及累积直方图(黑色)------------------ 

(译注:可以看出,原图像的亮度范围密集分布在一个很小的范围,亮度差较小,说明原图像的对比度差。)

-------------------------按直方图均衡化生成的新图像----------------------------

 -----------------新图像对应的直方图(红色)以及累积直方图(黑色)------------------

(译注:可以看出,新的图像的亮度范围分很大,亮度差较大,说明原图像的对比度增强了,但同时丢失了原图像的信息(如果原图像是温度生成的图像)。) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值