python实现gamma矫正
时间: 2023-07-17 11:04:15 浏览: 130
要在Python中实现Gamma矫正,可以使用OpenCV库。以下是一个简单的示例代码:
```python
import cv2
import numpy as np
def gamma_correction(image, gamma):
# 将图像像素值映射到0-1之间
image = image / 255.0
# 进行Gamma矫正
corrected_image = np.power(image, gamma)
# 将像素值重新映射回0-255之间
corrected_image = np.uint8(corrected_image * 255)
return corrected_image
# 读取图像
image = cv2.imread('input.jpg', cv2.IMREAD_UNCHANGED)
# 设置Gamma值(小于1为增强对比度,大于1为降低对比度)
gamma = 1.5
# 进行Gamma矫正
corrected_image = gamma_correction(image, gamma)
# 显示原始图像和矫正后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Corrected Image', corrected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,`gamma_correction`函数接受一个图像和一个Gamma值作为参数,并返回经过Gamma矫正后的图像。该函数首先将图像像素值映射到0-1之间,然后使用`np.power`函数进行Gamma矫正,最后将像素值重新映射回0-255之间。通过调整Gamma值,可以增强或降低图像的对比度。
请注意,在运行代码之前,确保已安装OpenCV库,并将待处理的图像命名为`input.jpg`并与代码放在同一目录下。
阅读全文