直方图均衡


我们已经看到,可以使用直方图拉伸来增加对比度。在本教程中,我们将了解如何使用直方图均衡来增强对比度。

在进行直方图均衡之前,您必须了解直方图均衡中使用的两个重要概念。这两个概念称为 PMF 和 CDF。

它们在我们的 PMF 和 CDF 教程中进行了讨论。请访问他们以成功掌握直方图均衡化的概念。

直方图均衡

直方图均衡化用于增强对比度。在此情况下,对比度不必总是增加。在某些情况下,直方图均衡可能会更糟。在这种情况下,对比度会降低。

让我们通过将下面的图像作为简单图像来开始直方图均衡化。

图像

爱因斯坦

该图像的直方图

该图像的直方图如下所示。

均衡1

现在我们对其进行直方图均衡化。

PMF

首先我们必须计算该图像中所有像素的 PMF(概率质量函数)。如果您不知道如何计算PMF,请访问我们的PMF计算教程。

CDF

我们的下一步涉及 CDF(累积分布函数)的计算。同样,如果您不知道如何计算 CDF,请访问我们的 CDF 计算教程。

根据灰度计算CDF

例如,让我们考虑一下,第二步中计算的 CDF 如下所示。

灰度值 CDF
0 0.11
1 0.22
2 0.55
3 0.66
4 0.77
5 0.88
6 0.99
7 1

然后,在此步骤中,您将 CDF 值乘以 (灰度级 (负) 1) 。

考虑到我们有一个 3 bpp 图像。那么我们的层数是 8。1 减去 8 就是 7。所以我们将 CDF 乘以 7。这是相乘后得到的结果。

灰度值 CDF CDF *(1 级)
0 0.11 0
1 0.22 1
2 0.55 3
3 0.66 4
4 0.77 5
5 0.88 6
6 0.99 6
7 1 7

现在我们已经到了最后一步,我们必须将新的灰度值映射到像素数。

让我们假设我们的旧灰度值具有这些像素数。

灰度值 频率
0 2
1 4
2 6
3 8
4 10
5 12
6 14
7 16

现在,如果我们将新值映射到 ,那么这就是我们得到的。

灰度值 新灰度值 频率
0 0 2
1 1 4
2 3 6
3 4 8
4 5 10
5 6 12
6 6 14
7 7 16

现在将这些新值映射到直方图上,就完成了。

让我们将这种技术应用到我们的原始图像上。应用后我们得到了下面的图像及其直方图。

直方图均衡图像

均衡图像

该图像的累积分布函数

CDF

直方图 均衡直方图

直方图

比较直方图和图像

比较

结论

从图像中可以清楚地看到,新图像的对比度得到了增强,直方图也得到了均衡。这里还需要注意一件重要的事情,在直方图均衡期间,直方图的整体形状发生变化,而在直方图拉伸中,直方图的整体形状保持不变。