如何在python中利用OpenCV实现直方图均衡化,包括局部、全局、限制对比度自适应
时间: 2024-03-27 07:38:44 浏览: 86
在Python中,可以使用OpenCV库中的equalizeHist函数来实现直方图均衡化。具体实现如下:
1. 全局直方图均衡化
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 全局直方图均衡化
equ = cv2.equalizeHist(img)
# 显示原始图像和直方图均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
2. 局部直方图均衡化
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
# 局部直方图均衡化
equ = clahe.apply(img)
# 显示原始图像和直方图均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
3. 限制对比度自适应直方图均衡化
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 限制对比度自适应直方图均衡化
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
equ = clahe.apply(img)
# 显示原始图像和直方图均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上就是在Python中使用OpenCV实现直方图均衡化的例子。其中,全局直方图均衡化使用equalizeHist函数,局部直方图均衡化和限制对比度自适应直方图均衡化使用createCLAHE函数。
阅读全文