opencv- CLAHE 有限对比适应性直方图均衡化

CLAHE(Contrast Limited Adaptive Histogram Equalization)是一种对比度有限的自适应直方图均衡化技术,它能够提高图像的对比度而又避免过度增强噪声。

在OpenCV中,cv2.createCLAHE() 函数用于创建CLAHE对象,然后可以使用该对象的 apply() 方法来对图像进行CLAHE均衡化,它在局部区域内对图像进行直方图均衡化,从而提高图像对比度而避免噪声过度增强。

函数的基本语法如下:

python 复制代码
clahe = cv2.createCLAHE(clipLimit, tileGridSize)

参数说明:

  • clipLimit: 对比度限制。对比度超过该值的像素将被截断,以防止过度增强对比度,默认为 40.0
  • tileGridSize: 图像被分割为多个小块(tiles),每个小块内进行局部直方图均衡化。tileGridSize 定义了每个小块的大小,默认为 (8, 8)。

创建CLAHE对象后,可以使用该对象的 apply() 方法对图像进行CLAHE均衡化。

示例代码:

python 复制代码
import cv2import matplotlib.pyplot as plt

# 读取灰度图像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\2.jpg", cv2.IMREAD_GRAYSCALE)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
# 进行CLAHE均衡化
clahe_img = clahe.apply(img)
# 绘制原始图像和CLAHE均衡化后的图像
plt.figure(figsize=(8, 4))
plt.subplot(1, 2, 1)
plt.imshow(img, cmap='gray')
plt.title('Original Image')
plt.subplot(1, 2, 2)
plt.imshow(clahe_img, cmap='gray')
plt.title('CLAHE Image')
plt.show()
# 显示原始图像和CLAHE均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('CLAHE Image', clahe_img)

# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()


在这个示例中,通过调整 clipLimittileGridSize 参数,你可以控制CLAHE的效果。CLAHE通常在需要提高图像对比度的情况下使用,特别是在局部对比度不均匀的图像上。

CLAHE在局部区域内进行直方图均衡化,这有助于避免在全局均衡化中出现的过度增强噪声的问题。

相关推荐
weilaikeqi111113 小时前
宠物护理技术革命:“微米银”正在改写传统抗菌方式?
大数据·人工智能·宠物
LittroInno13 小时前
Tofu6 无人机、鸟识别跟踪模组
人工智能·计算机视觉·无人机
liangshanbo121513 小时前
从“造智能体”到“赋能技能”:大模型应用范式的战略大转向
大数据·人工智能
科士威传动13 小时前
滚珠导轨中的预紧力该如何判断?
人工智能·科技·机器学习·自动化·制造
沛沛老爹13 小时前
2025年java总结:缝缝补补又一年?
java·开发语言·人工智能·python·guava·总结·web转型ai
xiaoxiaoxiaolll13 小时前
金属材料多尺度计算模拟
人工智能·学习
永霖光电_UVLED13 小时前
铂:一种有前景的 p 型碳化硅接触材料
人工智能
阿标在干嘛13 小时前
【功能全景实测】科力辰科技查新网:它如何试图覆盖科研业务全链条?
大数据·人工智能·科技
受之以蒙13 小时前
用Rust + dora-rs + Webots打造自动驾驶仿真系统:Mac M1完整实战
人工智能·笔记·rust
南风聊AI13 小时前
从单体LLM到多Agent协作,如何用AI重构内容生产SOP
人工智能·chatgpt·重构