用Python实现CLAHE算法的图像增强
时间: 2024-03-01 07:25:37 浏览: 102
the survey of defogging_python_defog_联合双边滤波_CLAHE_图像增强.zip
5星 · 资源好评率100%
好的,以下是用Python实现CLAHE算法的图像增强的步骤:
1. 导入需要的库
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
```
2. 读取需要增强的图像
```python
img = cv2.imread('image.jpg', 0)
```
3. 定义CLAHE算法的参数
```python
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
```
- clipLimit:对比度的阈值,一般为2.0,可以根据实际情况进行调整。
- tileGridSize:将图像分成的小块的大小,一般为8x8。
4. 对图像进行CLAHE算法增强
```python
img_clahe = clahe.apply(img)
```
5. 显示原图和增强后的图像
```python
plt.subplot(121), plt.imshow(img, cmap='gray'), plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(img_clahe, cmap='gray'), plt.title('CLAHE')
plt.xticks([]), plt.yticks([])
plt.show()
```
完整代码如下:
```python
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('image.jpg', 0)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
img_clahe = clahe.apply(img)
plt.subplot(121), plt.imshow(img, cmap='gray'), plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(img_clahe, cmap='gray'), plt.title('CLAHE')
plt.xticks([]), plt.yticks([])
plt.show()
```
这样就完成了用Python实现CLAHE算法的图像增强的过程。
阅读全文