Курс 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"
- Метод __iand__ для пользовательских классов
- Отправка POST запроса на сервер.
- Сравнение строк в Python
- Итераторы в Python
- Измерение времени выполнения кода
- Автоматизация скриптов на AWS Lightsail.
- Генераторы в Python
- Проблемы с именами переменных
- Функция product() из itertools
- Работа с NumPy массивами
- Реверс строки и списка в Python.
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Использование функции product
- Функции range() в Python
- Декоратор total_ordering для класса Point
- Работа с итераторами в Python
- Многоточие в Python
- Бесконечные списки в Python
- Управление доступом к модулю
- Карта бомбоубежищ в Москве и Питере
- Сортировка элементов с OrderedDict
- Путь к интерпретатору Python
- Доступ к локальным переменным
- Частичное совпадение пользовательского ввода в Python 3.10
- Установка и использование Logzero
- Python enumerate() использование
- Срезы в Python
- Работа с переменными в Python
- Настройка нарезки списков
- Таймер обратного отсчета
- Дизассемблирование Python кода
- Глобальные переменные в Python
- Подсчет элементов с помощью Counter
- Расширение информации об ошибке в Python
- Асинхронное выполнение задач в Python
- Множественное назначение в Python
- Python: отличительная особенность — отступы
- Переопределение метода __or__()
- Логирование с Loguru
- Python: возвращение нескольких значений
- Извлечение чисел из текста
- Лямбда-функции в defaultdict
- Очистка строки в Python
- Работа с f-строками 2.0
- Обратное распространение ошибки
- Импорт и использование модулей в Python
- Метод enumerate() в Python
- Метод rsub для пользовательских чисел















