直方图拉伸

我们在直方图入门教程中讨论的直方图的另一个优点是对比度增强。

增强对比度有两种方法。第一种方法称为直方图拉伸,可增加对比度。第二个称为直方图均衡化,可增强对比度,这在我们的直方图均衡化教程中已经讨论过了。

在讨论直方图拉伸以增加对比度之前,我们将简要定义对比度。

对比度

对比度是最大和最小像素强度之间的差异。

考虑这张图片。

stretching

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

stretching

现在我们从这张图片计算对比度。

对比度 = 225。

现在我们将增加图像的对比度。

增加图像

拉伸图像直方图以增加对比度的公式是

stretching

该公式需要找到最小和最大像素强度乘以灰度级。在我们的例子中,图像是 8bpp,因此灰度级为 256。

最小值为 0,最大值为 225。因此,在我们的例子中,公式是

stretching

其中 f(x,y) 表示每个像素强度的值。对于图像中的每个 f(x,y),我们将计算此公式。

完成此操作后,我们将能够增强对比度。

应用直方图拉伸后出现以下图像。

stretching

此图像的拉伸直方图如下所示。

注意直方图的形状和对称性。直方图现在被拉伸或以其他方式扩展。看看它。

stretching

在这种情况下,图像的对比度可以计算为

对比度 = 240

因此我们可以说图像的对比度增加了。

注意:这种增加对比度的方法并不总是有效,但在某些情况下会失败。

直方图拉伸失败

正如我们所讨论的,该算法在某些情况下会失败。这些情况包括图像中存在像素强度 0 和 255 的图像

因为当图像中存在像素强度 0 和 255 时,在这种情况下它们会变成最小和最大像素强度,从而破坏这样的公式。

原始公式

stretching

将失败情况值放入公式中:

stretching

简化该表达式可得出

stretching

这意味着输出图像等于处理后的图像。这意味着此图像没有进行直方图拉伸。