Reputation: 139
I'm new to coding, some my code isn't the cleanest (as evidenced below). Is there a more efficent way to change both the sharpness and contrast with Pillow in python without having to save and open the file twice?
My horrible code:
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)
Upvotes: 2
Views: 2808
Reputation: 207853
You can do it without saving to disk like this:
#!/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')
Transforms this:
into this:
Upvotes: 6