• opencv用自适应直方图均衡化函数cv2.createCLAHE()提高对比度


    来自WeTab AI Pro

    cv2.createCLAHE() 是 OpenCV 中的一个函数,用于创建 CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度受限自适应直方图均衡化)对象。CLAHE 是一种增强图像局部对比度的技术,通过限制对比度来避免传统直方图均衡化所引入的噪声和过度增强。

    以下是 cv2.createCLAHE() 的详细解释,以及如何使用它:

    函数原型

    cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
    

    参数说明

    1. clipLimit:

      • 类型:float
      • 说明:对比度限幅。从全局对比度的角度出发,对比度受限的程度。默认值为 2.0。当 clipLimit 设置为 0 或者负值时,表示没有对比度限制。较高的值会增加对比度,但可能导致噪声放大。
    2. tileGridSize:

      • 类型:tuple of two ints
      • 说明:每个小网格的大小,以像素为单位(行数,列数)。默认值为 (8, 8)。图像将被分为多个大小相同的网格块,CLAHE 算法分别对每个网格块进行直方图均衡化。

    使用步骤

    1. 创建 CLAHE 对象。
    2. 应用 CLAHE 算法。

    示例代码

    以下示例代码展示了如何使用 cv2.createCLAHE() 对图像进行对比度增强处理:

    1. import cv2
    2. # 读取灰度图像
    3. image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)
    4. # 创建 CLAHE 对象
    5. clipLimit = 2.0
    6. tileGridSize = (8, 8)
    7. clahe = cv2.createCLAHE(clipLimit=clipLimit, tileGridSize=tileGridSize)
    8. # 对图像应用 CLAHE
    9. enhanced_image = clahe.apply(image)
    10. # 显示结果
    11. cv2.imshow("Original Image", image)
    12. cv2.imshow("Enhanced Image", enhanced_image)
    13. cv2.waitKey(0)
    14. cv2.destroyAllWindows()

    代码解释

    1. 读取灰度图像

      image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE)
      

      加载需要处理的图像,并将其转换为灰度图像。

    2. 创建 CLAHE 对象

      clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
      

      创建一个 CLAHE 对象,指定对比度受限的参数和网格块大小。

    3. 应用 CLAHE

      enhanced_image = clahe.apply(image)
      

      将 CLAHE 应用于原始图像,生成一个对比度增强后的图像。

    4. 显示结果

      1. cv2.imshow("Original Image", image)
      2. cv2.imshow("Enhanced Image", enhanced_image)
      3. cv2.waitKey(0)
      4. cv2.destroyAllWindows()

    通过上述步骤,你可以对图像的局部对比度进行增强,特别适用于反差较低的图像。在实际应用中,你可以调节 clipLimit 和 tileGridSize 参数,以达到最佳效果。

    希望这能帮你更好地理解和使用 cv2.createCLAHE()。如果还有其他问题,欢迎继续提问!

  • 相关阅读:
    OpenFlow协议原理及基本配置-网络测试仪实操
    Excel - VBA的隔行拷贝功能
    基于JAVA开发使用IDEA兼容Eclipse的动漫视屏网站
    Find My护照|苹果Find My技术与护照结合,智能防丢,全球定位
    常见的probe set和gallery set究竟是什么
    人工智能三要素之算法Transformer
    旋极携手西班牙SoC-e公司,为中国客户提供高效可靠TSN通讯解决方案
    yolact ncnn保姆级源码解读(结合paper)
    软件测试技术之如何编写测试用例(4)
    ubuntu安装gptsovits
  • 原文地址:https://blog.csdn.net/xulibo5828/article/details/139389315