利用opencv批量进行图像gamma变换
时间: 2024-02-15 20:37:33 浏览: 99
用OpenCV批量处理图像
3星 · 编辑精心推荐
可以使用Gamma Correction函数来实现图像的Gamma变换。具体的实现可以参考以下代码:
```
import cv2
import numpy as np
def gamma_correction(image, gamma=1.0):
# 对图像进行Gamma变换
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
return cv2.LUT(image, table)
# 批量进行Gamma变换
img_list = ["img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg", "img5.jpg"]
for img_path in img_list:
img = cv2.imread(img_path)
img_gamma = gamma_correction(img, gamma=2.0)
cv2.imwrite("gamma_" + img_path, img_gamma)
```
这段代码中,首先定义了`gamma_correction`函数,用于对图像进行Gamma变换。该函数的输入参数包括待处理的图像以及Gamma值。Gamma值越大,图像的对比度会更高。
然后使用`cv2.imread`函数读取批量的待处理图像,使用`gamma_correction`函数进行Gamma变换,最后使用`cv2.imwrite`函数保存变换后的图像。
阅读全文