В 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], в частности функция "сохранить", которая позволяет передавать параметры, относящиеся к каждому формату изображения.
    • параметры каждого формата изображения находятся на другой странице, вы можете найти его в документах.

решена.

Я сделал....

im.save( blah, quality=5)

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