python图像变暗、图像变亮、降低对比度、gamma变换,应具有可视化输出的代码。
时间: 2024-09-10 11:13:24 浏览: 69
基于Gamma校正的低照度图像对比度增强方法研究
在Python中,我们可以使用PIL(Pillow)库来进行图像处理,包括变暗、变亮、降低对比度以及伽马变换。下面是一些简单的示例代码,每个操作都有对应的可视化输出:
```python
from PIL import Image, ImageEnhance
# 加载图像
img = Image.open('example.jpg')
# 变暗图像 (通过调整亮度)
enhancer = ImageEnhance.Brightness(img)
darkened_img = enhancer.enhance(0.5) # 0.5表示比原图暗50%
darkened_img.show() # 显示暗化的图像
# 变亮图像
brightened_img = enhancer.enhance(1.5) # 1.5表示比原图亮50%
brightened_img.show()
# 降低对比度
contrast_enhancer = ImageEnhance.Contrast(img)
low_contrast_img = contrast_enhancer.enhance(0.7) # 0.7表示降低70%对比度
low_contrast_img.show()
# 伽马变换 (非线性转换,常用在显示设备上校正)
# 首先计算新的像素值,公式通常是 old_pixel * gamma 新像素值
# 这里我们只展示代码结构,实际应用需要一个具体的gamma值
def apply_gamma_correction(image, gamma=2.2):
width, height = image.size
pixels = image.getdata()
new_pixels = [pow(pixel / 255.0, gamma) * 255 for pixel in pixels]
return Image.new('RGB', (width, height), tuple(new_pixels))
gamma_transformed_img = apply_gamma_correction(img, 1.8) # 1.8是一个假设的gamma值
gamma_transformed_img.show()
阅读全文