在 Python 中更改图片的对比度和清晰度

ham*_*ani 2 python python-imaging-library

我是编码新手,有些代码不是最干净的(如下所示)。有没有更有效的方法来改变 python 中 Pillow 的清晰度和对比度,而无需保存和打开文件两次?

我的可怕的代码:

        im = Image.open(image.jpg)
        enhancer = ImageEnhance.Contrast(im)
        im_output = enhancer.enhance(factor)
        im_output.save(image.jpg)

        im = Image.open(image.jpg)
        enhancer = ImageEnhance.Sharpness(im)
        im_output = enhancer.enhance(factor)
        im_output.save(updated image.jpg)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 6

您可以在不保存到磁盘的情况下执行此操作,如下所示:

#!/usr/bin/env python3
from PIL import Image, ImageEnhance                                                                

# Open a miserable, low-contrast image
im = Image.open('low-contrast.jpg')

# Sharpen 
enhancer = ImageEnhance.Sharpness(im)
res = enhancer.enhance(4) 

# Improve contrast
enhancer = ImageEnhance.Contrast(res)
res = enhancer.enhance(2)

# Save to disk
res.save('result.jpg')
Run Code Online (Sandbox Code Playgroud)

对此进行变换:

在此输入图像描述

进入这个:

在此输入图像描述