Чтобы получить размер изображения с помощью Pillow в Python, используйте свойство size объекта Image. Свойство size возвращает ширину и высоту изображения.
В этом уроке мы узнаем, как получить размер изображения, другими словами, ширину и высоту изображения, используя библиотеку Pillow.
Синтаксис
Синтаксис для использования свойства size объекта PIL Image приведен ниже.
im = Image.open("sample-image.png")
im.size
Пример 1
В следующей программе мы будем читать и изображать, а затем распечатывать его размер, используя свойство size объекта Image.
from PIL import Image
#read the image
im = Image.open("sample-image.png")
#image size
print(im.size)
Выход
(640, 400)
Пример 2: доступ к ширине и высоте
Вы можете получить доступ к высоте и ширине из свойства size, используя index. В следующем примере мы получим ширину и высоту изображения.
from PIL import Image
#read the image
im = Image.open("sample-image.png")
#image size
width = im.size[0]
height = im.size[1]
print('Width of the image is:', width)
print('Height of the image is:', height)
Вывод:
Width of the image is: 640 Height of the image is: 400
В этом руководстве на примерах Python мы узнали, как получить размер изображения с помощью библиотеки Python Pillow с помощью хорошо подробных примеров программ.
Изменение размера изображения
Чтобы изменить размер изображения с помощью Pillow, вы можете использовать метод resize() класса PIL.Image.Image. Вы можете передать такие параметры, как размер результирующего изображения, фильтр передискретизации пикселей и область блока источника, которую необходимо учитывать.
Синтаксис
Синтаксис метода resize() показан в следующем фрагменте кода.
Image.resize(size, resample=0, box=None)
Где:
- size передается, как кортеж (ширина, высота). Это размер, запрошенный для результирующего выходного изображения после изменения размера.
- resample – это фильтр, который должен использоваться для повторной выборки, это необязательно. Вы можете пройти:
- PIL.Image.NEAREST;
- PIL.Image.BOX;
- PIL.Image.BILINEAR;
- PIL.Image.HAMMING;
- PIL.Image.BICUBIC;
- PIL.Image.LANCZOS.
- box – это необязательный набор из 4 чисел с плавающей запятой, задающий область исходного изображения, которую следует рассматривать, как входные данные для изменения размера. Значения должны быть в пределах прямоугольника (0, 0, ширина, высота). Если опущено или None, используется весь источник.
Если для параметра размера заданы правильные значения, вы можете уменьшить или увеличить входное изображение.
Пример 1: со значениями по умолчанию
В следующем примере мы прочитаем изображение и изменим его размер до (200, 200).
from PIL import Image
#read the image
im = Image.open("sample-image.png")
#image size
size=(200,200)
#resize image
out = im.resize(size)
#save resized image
out.save('resize-output.png')
Входное изображение:

Выходное изображение:

Для изменения размера рассматривается все исходное изображение, поскольку мы не предоставили никакого значения для параметра box. В следующем примере мы предоставим параметр box и найдем выходное изображение.
Пример 2: с помощью поля входного изображения
В следующем примере мы предоставим параметр box. При этом мы рассматриваем только область поля входного изображения, а затем изменяем его размер до нужного размера.
from PIL import Image
#read the image
im = Image.open("sample-image.png")
#image size
size = (200,200)
box = (100,100,500,400)
#resize image
out = im.resize(size, box=box)
#save resized image
out.save('resize-output.png')
Выходное изображение:

Если вы заметили, для действия изменения размера учитывается только прямоугольная часть входного изображения.
В этом руководстве на примерах Python мы узнали, как изменить размер изображения с помощью библиотеки PIL.