图像去雾处理python代码
时间: 2023-12-14 13:00:32 浏览: 115
图像去雾处理是一种常见的图像增强技术,可以使模糊的图像变得更清晰。在Python中,可以使用OpenCV和NumPy库来实现图像去雾处理。
首先,我们需要导入必要的库:
```python
import cv2
import numpy as np
```
然后,我们可以定义一个函数来实现图像去雾处理:
```python
def dehaze(image, t=0.1, w=0.95):
image = image.astype(np.float32) / 255.0
min_v = np.percentile(image, q=1)
max_v = np.percentile(image, q=99)
image = (image - min_v) / (max_v - min_v)
M = np.min(image, axis=2)
dark_channel = cv2.erode(M, np.ones((15, 15), np.float32))
A = np.percentile(image, q=95, axis=(0, 1))
t_est = 1 - w * dark_channel
t_est = np.maximum(t_est, t)
J = (image - A) / t_est[:, :, None] + A
J = np.clip(J, 0, 1)
J = J * 255
return J.astype(np.uint8)
```
最后,我们可以加载图像并应用图像去雾处理:
```python
image = cv2.imread('input.jpg')
dehazed_image = dehaze(image)
cv2.imshow('Dehazed Image', dehazed_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
通过以上代码,我们可以实现图像去雾处理,使得模糊的图像变得更加清晰。
阅读全文