Курс 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"
- split() без разделителя
- Форматирование заголовков в Python
- Возврат нескольких значений
- Генерация случайных чисел Python
- Копирование объектов в Python
- Методы работы со списками
- Применение функции к каждому элементу списка
- Классы данных в Python
- Python: цикл for и оператор присваивания
- Генератор списка с условием if
- Аннотации типов в Python
- Numpy: разбиение массивов
- Асинхронное программирование с asyncio
- Явный импорт в Python
- Защита данных в Python
- Навыки Python: строки, типы данных
- Вычисление разности множеств в Python
- Склеивание строк через метод join()
- Настройка вывода в Numpy
- Удаление ссылок в Python
- Функция enumerate в Python
- Инвертирование словаря
- Переопределение метода __floordiv__
- Настройка нарезки списков
- Изменение элемента списка
- Отправка поздравлений по дню рождения
- Инверсия списка и строки
- Передача аргументов через **arguments
- Работа с пользовательским вводом
- Измерение потребления памяти при сортировке
- Структурирование данных с Pydantic
- Подсчет частотности элементов в Python
- Работа с NumPy.linalg
- HTTP-запросы с библиотекой Requests
- Логирование с Logzero
- Работа с срезами в Numpy
- Оператор «is not» в Python
- Создание детектора плагиата
- Повторение элементов в Python
- Операции с кортежами
- Равенство и идентичность в Python
- Работа с CSV файлами в Python
- Python Метод del.
- Проблемы с dict в Python
- Defaultdict в Python
- Метод __iand__ для пользовательских классов















