【问题标题】:Difference between contrast stretching and histogram equalization对比度拉伸和直方图均衡的区别
【发布时间】:2017-04-28 09:05:29
【问题描述】:

我想知道对比拉伸直方图均衡化的区别。

我已经尝试过使用 OpenCV 并观察了结果,但我仍然不了解这两种技术之间的主要区别。洞察力将是非常需要的帮助。

【问题讨论】:

    标签: histogram contrast stretching


    【解决方案1】:

    让我们先定义对比度,

    对比度是图像“范围”的量度;即其强度的分布程度。它有许多正式的定义,其中一个著名的是 Michelson 的:

    他说contrast = ( Imax - Imin )/( Imax + I min )

    对比度与图像的整体视觉质量密切相关。 理想情况下,我们希望图像使用整个可用值范围 给他们。

    对比度拉伸和直方图均衡具有相同的目标:使图像使用可用的整个范围的值。

    但他们使用不同的技术。 对比度拉伸的作用类似于映射

    它将图像中的最小强度映射到范围内的最小值(上例中为 84 ==> 0)

    以同样的方式,将图像中的最大强度映射到范围内的最大值(上例中为 153 ==> 255)

    这就是为什么对比度拉伸不可靠的原因,如果只有两个像素的强度为0和255,那是完全没用的。

    然而,更好的方法是使用概率分布的直方图均衡。可以学习步骤here

    【讨论】:

    • 您可以将对比度拉伸与百分位数结合使用,这样 0 或 255 的值就不会受到影响。这需要一定百分比的信息。
    【解决方案2】:

    经过一番阅读,我发现了以下几点。

    对比度拉伸就是增加图像中最大强度值和最小强度值之间的差异。所有其余的强度值都分布在此范围之间。

    直方图均衡化是关于修改图像中所有像素的强度值,使直方图“变平”(实际上,直方图不能完全变平,会有一些高峰和一些低谷,但这是一个实际问题)。

    对比度拉伸中,源图像和目标图像之间的强度值存在一一对应的关系,即可以恢复原始图像来自对比度拉伸的图像。

    但是,一旦执行直方图均衡化,就无法取回原始图像。

    【讨论】:

      【解决方案3】:

      对比度拉伸是一种线性归一化,它拉伸图像强度的任意区间并将该区间拟合到另一个任意区间(通常目标区间是图像可能的最小值和最大值,如 0 和 255)。

      直方图均衡化是一种非线性归一化,它拉伸高丰度强度的直方图区域并压缩低丰度强度的区域。

      【讨论】:

        【解决方案4】:

        在直方图均衡中,您希望将直方图展平为均匀分布。

        在对比度拉伸中,您可以操纵整个强度值范围。就像你在规范化中所做的一样。

        【讨论】:

        • 请注意,对比度拉伸也称为直方图拉伸。在这里,您可以“拉伸”或压缩直方图;但你不需要让它统一。
        【解决方案5】:

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

        这两种方法都用于增强对比度,更准确地说,是调整图像强度以增强对比度。

        在直方图均衡期间,直方图的整体形状 变化,而相比之下拉伸的整体形状 直方图保持不变。

        【讨论】:

          【解决方案6】:

          我认为对比度拉伸拓宽了图像强度水平的直方图,因此输入范围附近的强度可以映射到整个强度范围。

          直方图均衡化,另一方面,根据累积分布函数或概率将所有像素映射到全范围。

          【讨论】:

            猜你喜欢
            • 2014-06-26
            • 2016-05-07
            • 1970-01-01
            • 1970-01-01
            • 2013-02-28
            • 2021-08-10
            • 2012-11-18
            • 2016-06-08
            • 1970-01-01
            相关资源
            最近更新 更多