当前位置:   article > 正文

自适应直方图均衡化(CLAHE)

自适应直方

  当图像中存在广泛的对比度差异时,传统的直方图均衡化可能无法产生理想的结果。为了解决这个问题,引入了限制对比度自适应直方图均衡化(CLAHE)方法,它将图像分成小块,对每个小块进行直方图均衡化,并在均衡化过程中限制对比度增强的幅度。这可以避免过度增强噪声或细节,同时改善图像的视觉质量。
  CLAHE的原理如下:
  1. 将图像划分为不重叠的小块(称为tiles)。
  2. 在每个小块中,计算直方图。
  3. 对每个小块的直方图进行均衡化,以确保小块内的像素分布更加均匀。
  4. 在进行直方图均衡化时,引入一个限制参数,它控制了对比度增强的程度。如果某个小块的直方图超过了这个限制,那么对比度增强会被限制,以避免过度增强。
  CLAHE 的数学表示如下:
  令 I ( x , y ) I(x, y) I(x,y) 表示原始图像上坐标 ( x , y ) (x, y) (x,y) 处的像素值, I clahe ( x , y ) I_{\text{clahe}}(x, y) Iclahe(x,y) 表示经过CLAHE处理后的图像上坐标 ( x , y ) (x, y) (x,y) 处的像素值。
  1. 将图像划分为大小为 N × N N \times N N×N 的小块: I block ( x , y ) I_{\text{block}}(x, y) Iblock(x,y),其中 ( x , y ) (x, y) (x,y) 属于小块内的像素坐标。
  2. 对每个小块 I block ( x , y ) I_{\text{block}}(x, y) Iblock(x,y),计算直方图 H block ( I block ) H_{\text{block}}(I_{\text{block}}) Hblock(Iblock)
  3. 计算累积分布函数(CDF): C D F block ( I block ) CDF_{\text{block}}(I_{\text{block}}) CDFblock(Iblock),并进行直方图均衡化。
  4. 限制对比度增强的阈值为 C C C,在进行直方图均衡化时,对 C D F block ( I block ) CDF_{\text{block}}(I_{\text{block}}) CDFblock(Iblock) 进行剪切,以限制增强程度。
  CLAHE 的意义在于它能够提高图像的视觉质量,同时避免了在局部区域过度增强对比度引起的噪声和伪影。它在医学图像、无人驾驶、图像增强等领域有广泛的应用。
  以下是使用 OpenCV 中的 cv2.createCLAHE 函数进行CLAHE处理的示例代码:

import cv2
import matplotlib.pyplot as plt

def CLAHE(image):
    # 读取图像
    image = cv2.imread(image, cv2.IMREAD_GRAYSCALE)

    if image is None:
        print('Unable to load input_image!')
        return
    else:

        # 创建CLAHE对象
        clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
        # 应用CLAHE处理
        clahe_image = clahe.apply(image)

        plt.figure(figsize=(6, 4))
        plt.subplot(121), plt.title('Original image'), plt.axis('off')
        plt.imshow(image, cmap='gray', vmin=0, vmax=255)
        plt.subplot(122), plt.title('Clahe image'), plt.axis('off')
        plt.imshow(clahe_image, cmap='gray', vmin=0, vmax=255)
        plt.tight_layout()
        plt.show()


imgfile1='./Images/cat.jpg'
CLAHE(imgfile1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

  在这个示例中,clipLimit 参数控制了对比度的限制程度,tileGridSize 参数定义了图像分块的大小。您可以根据需要调整这些参数以达到最佳效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/78884
推荐阅读
相关标签
  

闽ICP备14008679号