用python实现图像的gamma变换
时间: 2024-12-13 19:25:13 浏览: 9
在Python中,我们可以使用PIL(Python Imaging Library,现已被Pillow库替代)或者OpenCV库来进行图像的伽马变换。伽马变换是一种调整图像亮度的方式,它通常用于校正显示器无法准确显示的所有像素值。
以下是使用Pillow库实现伽马变换的一个简单示例:
```python
from PIL import Image
def gamma_correction(image_path, output_path, gamma=1.8):
# 读取图像
img = Image.open(image_path)
# 将图像转换为模式支持伽马变换的数据类型
img = img.convert('RGB')
# 应用伽马变换
corrected_img = img.point(lambda p: p * (255 / pow(255, 1.0/gamma)))
# 保存处理后的图像
corrected_img.save(output_path)
# 使用示例
input_image = "input.jpg"
output_image = "output_gammatransformed.jpg"
gamma_correction(input_image, output_image)
```
在这个例子中,`gamma=1.8`是一个常见的伽马值选择,小于1表示图像变暗(如电影效果),大于1则图像变亮(常规屏幕显示)。`point`函数应用了每个像素点的伽马变换公式。
阅读全文