В Pil Python, как изменить качество изображения? [закрытый]
Я хочу ухудшить качество изображения до нескольких килобайт. Как лучше всего это сделать?
спасибо!
4 ответов
если формат изображения JPEG, вот пример:
from PIL import Image
im = Image.open("C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg")
im.save("C:\Users\Public\Pictures\Sample Pictures\Jellyfish_compressed.jpg", quality=10)
ссылки, которые вы должны читать:
- [модуль изображения][1], в частности функция "сохранить", которая позволяет передавать параметры, относящиеся к каждому формату изображения.
- параметры каждого формата изображения находятся на другой странице, вы можете найти его в документах.
a) изменение размеров: Image.resize(size, filter)
b) явно преобразовать его в JPEG (если это не так) и установить желаемое качество. в) используйте комбинацию а) и Б)
что бы вы ни делали, существует компромисс между размером и качеством.
это сработало для меня, чтобы использовать цикл For для изменения размера изображений с помощью PIL. Переменная PRODUCTS-это список, в котором есть все имена продуктов, но вы также можете использовать readlines () для каждой строки в файле:
def resize_images(self):
products = PRODUCTS
for name in products:
try:
fp = open(filename + name + ".jpg", "rb")
img = Image.open(fp)
img.load()
img.save(filename + name + "_2" + ".jpg", quality=23)
fp.close()
except:
print name