Retinex算法实现低照度图像增强系统设计代码
时间: 2023-09-16 18:10:59 浏览: 131
以下是Retinex算法实现低照度图像增强的Python代码示例:
```python
import cv2
import numpy as np
def retinex(img, sigma_list):
img = np.float64(img) + 1.0
result_log = np.zeros_like(img)
for sigma in sigma_list:
blur = cv2.GaussianBlur(img, (0, 0), sigma)
blur_log = np.log(blur)
result_log += blur_log
result_log = result_log / len(sigma_list)
result = np.float64(img) * np.exp(-result_log)
result = np.uint8(result - 1.0)
return result
if __name__ == '__main__':
# 读取图像
img = cv2.imread('low_light.jpg')
# Retinex增强
result = retinex(img, [15, 80, 250])
# 显示结果
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们使用了Retinex算法来增强一张低照度的图像。该算法使用了一组高斯核作为滤波器对图像进行处理,然后将处理后的结果进行加权平均,得到最终的增强图像。sigma_list参数指定了使用的高斯核的标准差。通过调整这个参数,可以得到不同的增强效果。
阅读全文