直方图拉伸
我们在直方图入门教程中讨论的直方图的另一个优点是对比度增强。
增强对比度有两种方法。第一种方法称为直方图拉伸,可增加对比度。第二个称为直方图均衡化,可增强对比度,这在我们的直方图均衡化教程中已经讨论过了。
在讨论直方图拉伸以增加对比度之前,我们将简要定义对比度。
对比度
对比度是最大和最小像素强度之间的差异。
考虑这张图片。

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

现在我们从这张图片计算对比度。
对比度 = 225。
现在我们将增加图像的对比度。
增加图像
拉伸图像直方图以增加对比度的公式是

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

其中 f(x,y) 表示每个像素强度的值。对于图像中的每个 f(x,y),我们将计算此公式。
完成此操作后,我们将能够增强对比度。
应用直方图拉伸后出现以下图像。

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

在这种情况下,图像的对比度可以计算为
对比度 = 240
因此我们可以说图像的对比度增加了。
注意:这种增加对比度的方法并不总是有效,但在某些情况下会失败。
直方图拉伸失败
正如我们所讨论的,该算法在某些情况下会失败。这些情况包括图像中存在像素强度 0 和 255 的图像
因为当图像中存在像素强度 0 和 255 时,在这种情况下它们会变成最小和最大像素强度,从而破坏这样的公式。
原始公式

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

简化该表达式可得出

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