弱光图像增强python代码
时间: 2023-06-23 11:09:07 浏览: 80
以下是一个简单的弱光图像增强Python代码示例,使用OpenCV库:
``` python
import cv2
# 加载图像
img = cv2.imread('input_image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 应用CLAHE(对比度有限自适应直方图均衡化)算法
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
cl_img = clahe.apply(gray)
# 显示原始图像和增强后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', cl_img)
# 等待按键
cv2.waitKey(0)
```
此代码使用CLAHE算法增强图像。您可以调整 `clipLimit` 和 `tileGridSize` 参数以获得更好的结果。
相关问题
图像增强python代码
以下是一个简单的图像增强 Python 代码示例:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg', cv2.IMREAD_COLOR)
# 高斯模糊
blurred = cv2.GaussianBlur(img, (5, 5), 0)
# 灰度化
gray = cv2.cvtColor(blurred, cv2.COLOR_BGR2GRAY)
# 边缘检测
canny = cv2.Canny(gray, 30, 150)
# 膨胀操作
kernel = np.ones((3, 3), np.uint8)
dilated = cv2.dilate(canny, kernel, iterations=1)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', dilated)
# 等待键盘输入
cv2.waitKey(0)
# 释放窗口
cv2.destroyAllWindows()
```
这个代码使用了 OpenCV 库来进行图像增强。它包括了高斯模糊、灰度化、边缘检测和膨胀操作。你可以根据需要调整这些参数以获得更好的效果。
MSR 图像增强python代码
以下是使用 MSR 图像增强算法的 Python 代码:
```python
import cv2
import numpy as np
def MSR(img, scales=[1, 2, 4], weights=[0.5, 0.3, 0.2]):
img = np.float32(img) + 1.0
h, w, c = img.shape
ret = np.zeros((h, w, c))
for i, scale in enumerate(scales):
img_ = cv2.resize(img, (int(w/scale), int(h/scale)), interpolation=cv2.INTER_CUBIC)
img_ = cv2.resize(img_, (w, h), interpolation=cv2.INTER_CUBIC)
ret += weights[i] * np.log10(img) - weights[i] * np.log10(img_)
return cv2.normalize(ret, None, 0, 255, cv2.NORM_MINMAX)
# 使用示例
img = cv2.imread('example.jpg')
img_enhanced = MSR(img)
cv2.imshow('Enhanced Image', img_enhanced)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中 `scales` 和 `weights` 分别表示不同尺度下的权重,可以根据需要进行调整。