彩色图像局部均衡化opencv
时间: 2023-09-01 12:11:10 浏览: 74
OpenCV彩色图像亮度均衡
4星 · 用户满意度95%
在 OpenCV 中,可以使用 `cv2.createCLAHE()` 函数来实现彩色图像的局部均衡化。以下是一个简单的示例代码:
```python
import cv2
# 读取彩色图像
img = cv2.imread('image.jpg')
# 将图像转换为 LAB 颜色空间
lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
# 分离 L、A、B 三个通道
l, a, b = cv2.split(lab)
# 创建 CLAHE 对象,设置参数
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
# 对 L 通道进行局部均衡化
l_clahe = clahe.apply(l)
# 将处理后的 L 通道与 A、B 通道合并
lab_clahe = cv2.merge((l_clahe, a, b))
# 将图像转回 RGB 颜色空间
result = cv2.cvtColor(lab_clahe, cv2.COLOR_LAB2BGR)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('CLAHE Image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,首先读取了一张彩色图像,然后将图像转换为 LAB 颜色空间,并分离出 L、A、B 三个通道。接着使用 `cv2.createCLAHE()` 函数创建一个 CLAHE 对象,设置了 clipLimit 和 tileGridSize 两个参数。clipLimit 表示对比度的限制值,tileGridSize 表示每个块的大小。然后对 L 通道进行局部均衡化,最后将处理后的 L 通道与 A、B 通道合并,并将图像转回 RGB 颜色空间。最终显示原始图像和局部均衡化后的图像。
阅读全文