python代码实现 图像伽马变换
时间: 2023-08-10 18:58:48 浏览: 447
图像的伽马变换可以通过将像素值进行幂次变换来实现。以下是一个示例代码:
```python
import cv2
import numpy as np
def gamma_correction(image, gamma):
# 对图像进行归一化处理
normalized_image = image / 255.0
# 对归一化后的图像进行伽马变换
corrected_image = np.power(normalized_image, gamma)
# 将伽马变换后的图像还原到0-255的像素值范围
corrected_image = np.uint8(corrected_image * 255)
return corrected_image
# 读取图像
image = cv2.imread("image.jpg")
# 进行伽马变换
gamma = 1.5 # 伽马值
corrected_image = gamma_correction(image, gamma)
# 显示原始图像和伽马变换后的图像
cv2.imshow("Original Image", image)
cv2.imshow("Gamma Corrected Image", corrected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`gamma_correction` 函数接受一个彩色图像和一个伽马值作为输入。首先,将图像像素值进行归一化处理,然后对归一化后的图像进行伽马变换,使用 `np.power` 函数将每个像素值提升到指定的伽马值。最后,将伽马变换后的图像还原到0-255的像素值范围,并返回结果。
你可以将需要进行伽马变换的图片替换为 `"image.jpg"`,然后调整伽马值 `gamma` 的大小,运行代码来查看结果。
阅读全文