Поиск по сайту:

Изменение размера изображений с помощью Python


Краткое объяснение того, как изменить размер изображений в Python, сохраняя то же соотношение сторон.

Я люблю Python и уже некоторое время изучаю его. Некоторое время назад я написал скрипт Python, в котором мне нужно было изменить размер нескольких изображений, сохраняя при этом соотношение сторон (пропорции). Итак, я осмотрелся и нашел Pillow, библиотеку изображений Python и «дружественный ответвление» старой библиотеки под названием PIL. 

Чтобы установить Pillow, используйте модуль Python pip:

$ python3 -m pip install Pillow

Масштабирование по ширине

Вот базовый скрипт для изменения размера изображения с помощью модуля Pillow:

from PIL import Image

basewidth = 300
img = Image.open('fullsized_image.jpg')
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), Image.ANTIALIAS)
img.save('resized_image.jpg')

Эти несколько строк кода Python изменяют размер изображения (fullsized_image.jpg) с помощью Pillow до ширины 300 пикселей, которая задается в переменной basewidth, и высоты, пропорциональной новая ширина. Пропорциональная высота рассчитывается путем определения процента 300 пикселей от исходной ширины (img.size[0]) и последующего умножения исходной высоты (img.size[1]. >) на этот процент. Полученное значение высоты сохраняется в переменной hsize.

Вы можете изменить basewidth на любое другое число, если вам нужна другая ширина для ваших изображений. Также обратите внимание, что я сохранил изображение с измененным размером под другим именем, resized_image.jpg, так как хотел сохранить и полноразмерное изображение (fullsized_image.jpg). Конечно, вам не обязательно этого делать. Вы можете использовать то же имя файла, чтобы перезаписать полноразмерное изображение изображением с измененным размером, если вы этого хотите.

Масштабирование по высоте

Если высота фиксирована, а ширина пропорционально переменная, это почти то же самое, вам просто нужно немного поменять местами:

blog and republished under Creative Commons with permission.

This article was updated in January 2021 by the editor.

Статьи по данной тематике: