Python实现CLAHE
时间: 2023-11-05 18:02:30 浏览: 93
CLAHE(Contrast Limited Adaptive Histogram Equalization)是一种局部自适应直方图均衡化技术,可以在增强图像对比度的同时保留图像的局部细节。下面是用Python实现CLAHE的示例代码:
```python
import cv2
import numpy as np
def clahe(img, clipLimit=2.0, tileGridSize=(8, 8)):
# 将图像转换为LAB颜色空间
lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
# 分离L通道(亮度)
l, a, b = cv2.split(lab)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=clipLimit, tileGridSize=tileGridSize)
# 对L通道进行CLAHE增强
l_enhanced = clahe.apply(l)
# 合并增强后的L通道和原图像的A、B通道
lab_enhanced = cv2.merge((l_enhanced, a, b))
# 将增强后的图像转换回BGR颜色空间
enhanced = cv2.cvtColor(lab_enhanced, cv2.COLOR_LAB2BGR)
return enhanced
# 读取图像
img = cv2.imread('lena.jpg')
# 进行CLAHE增强
enhanced = clahe(img)
# 显示原图和增强后的图像
cv2.imshow('Original', img)
cv2.imshow('Enhanced', enhanced)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先将图像转换为LAB颜色空间,然后对L通道进行CLAHE增强,最后将增强后的L通道和原图像的A、B通道合并,并将其转换回BGR颜色空间。CLAHE的参数包括clipLimit(默认值为2.0)和tileGridSize(默认值为8x8),可以根据需要进行调整。
阅读全文