aod图像去雾python代码
时间: 2023-11-13 11:55:16 浏览: 99
好的,以下是 aod 图像去雾的 Python 代码:
```python
import cv2
import numpy as np
def AOD(image, omega=0.95, lambda_=1.0, L=128):
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 计算导向场
guide = cv2.ximgproc.guidedFilter(gray, gray, radius=15, eps=0.001)
# 计算梯度场
gradient = np.gradient(guide)
gradient_norm = np.sqrt(gradient[0]**2 + gradient[1]**2)
# 计算大气光
atm_light = np.percentile(image, L)
# 计算透射率
trans_map = 1 - omega * np.minimum(gradient_norm / np.mean(gradient_norm), 1.0)
# 求解场
J = (image - atm_light) / trans_map + atm_light
# 对 J 进行导向滤波
J_filtered = cv2.ximgproc.guidedFilter(guide, J, radius=15, eps=lambda_)
return J_filtered.astype(np.uint8)
# 读取图像
image = cv2.imread('input.jpg')
# 去雾处理
result = AOD(image)
# 显示结果
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文