Курс Python → Обрезка изображения с Pillow
При работе с изображениями в Python с использованием библиотеки Pillow, часто возникает необходимость обрезать изображение до определенной области. Для этого используется метод crop(), который принимает аргумент в виде кортежа, содержащего координаты области обрезки. Например, для обозначения области обрезки на изображении с координатами (x1, y1) в верхнем левом углу и (x2, y2) в нижнем правом углу, можно создать кортеж box=(x1, y1, x2, y2).
Важно помнить, что координаты в кортеже box=(left, upper, right, lower) задают прямоугольную область на изображении. Верхняя левая координата (left, upper) указывает на точку начала обрезки, а нижняя правая (right, lower) — на точку конца обрезки. При этом пиксели с координатами x = right и y = lower не включаются в обрезанную область.
Для выполнения обрезки изображения в Pillow необходимо вызвать метод crop() на объекте Image и передать ему кортеж с координатами области обрезки. Например, для обрезки изображения img до области с координатами (100, 100) в верхнем левом углу и (300, 300) в нижнем правом углу, можно использовать следующий код:
from PIL import Image
img = Image.open('image.jpg')
cropped_img = img.crop((100, 100, 300, 300))
cropped_img.show()
В данном примере изображение ‘image.jpg’ будет обрезано до области с координатами (100, 100, 300, 300) и отображено на экране. При необходимости можно сохранить обрезанное изображение в файл, используя метод save(). Таким образом, обрезка изображения в Pillow с помощью кортежа box=(left, upper, right, lower) является простым и эффективным способом изменения размеров изображения.
Другие уроки курса "Python"
- Преобразование регистра строк
- Параллельные вычисления в Python
- Оператор assert в Python
- Применение промокода в Много лосося
- Частичное применение функций в Python
- Разбиение строки в Python
- Различия символов в Python
- Группы исключений в Python
- Работа со строками в Python
- Проверка списка: any() и all()
- Изменение регистра данных
- discard() — удаление элемента из множества
- Бинарный поиск
- Создание новых списков через list comprehensions
- Делегирование в Python
- F-строки в Python 3.8
- Удаление элемента по индексу
- Установка Python3.7 и PIP
- Лямбда-функции в Python
- Метод join для наборов
- Роль object и type в Python
- Операторы Splat и splatty-splat
- Создание виртуальной среды
- Метод get() для словарей
- Поиск частых элементов в списке
- Замена подстроки
- Работа с итераторами через срезы
- Настройка вывода NumPy
- Управление ресурсами с контекстными менеджерами
- Метод count() для списков
- Управление виртуальными средами в Python
- Создание класса в Python
- Умножение строк и списков
- Реверс строки в Python
- Встраивание HTML в Jupyter Notebook
- Solidity для DeFi Ethereum
- Многострочные комментарии в Python
- Проблемы с именами переменных
- Создание функций высшего порядка
- Progress с библиотекой tqdm
- Оформление кода на Python
- Оператор «not» в Python
- PUT запрос для обновления данных
- Цикл for в Python
- Переменные в Python: сокращение гласных















