Как обрезать изображение с помощью PIL? - PullRequest
106 голосов
/ 03 апреля 2012

Я хочу обрезать изображение путём удаления первых 30 строк и последних 30 строк с данного изображения.Я искал, но не получил точное решение.У кого-нибудь есть предложения?

Ответы [ 3 ]

163 голосов
/ 03 апреля 2012

Существует метод crop():

w, h = yourImage.size
yourImage.crop((0, 30, w, h-30)).save(...)
36 голосов
/ 24 апреля 2017

Вы должны импортировать PIL (Подушка) для этого. Предположим, у вас есть изображение размером 1200, 1600. Мы обрежем изображение от 400, 400 до 800, 800

from PIL import Image
img = Image.open("ImageName.jpg")
area = (400, 400, 800, 800)
cropped_img = img.crop(area)
cropped_img.show()
9 голосов
/ 18 января 2019

Более простой способ сделать это - использовать кадрирование из ImageOps . Вы можете указать количество пикселей, которые вы хотите обрезать с каждой стороны.

from PIL import ImageOps

border = (0, 30, 0, 30) # left, up, right, bottom
ImageOps.crop(img, border)
...