Курс 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"

  1. Перевернуть список в Python
  2. Установка пакета в Python
  3. Замена текста с помощью sub
  4. Переименование файлов в Python
  5. Работа с Colorama
  6. Метод rename() для переименования файлов и каталогов
  7. Переопределение метода __lshift__
  8. Присоединение элементов коллекции
  9. Структурирование данных с Pydantic
  10. Измерение времени выполнения кода
  11. Отступы в Python
  12. Сравнение строк в Python
  13. Измерение времени выполнения кода с помощью time
  14. Работа с collections в Python
  15. Безопасные SQL-запросы в Python 3.11
  16. Определение относительного пути
  17. Передача аргументов через **arguments
  18. Список переменных в Python
  19. Обработка исключений в Python
  20. Сглаживание списка
  21. Преобразование range в итератор
  22. Декораторы в Python
  23. Объединение словарей в Python
  24. Метод join() для объединения строк
  25. Строковое представление объектов
  26. Комментарии в Python
  27. Импорт модулей в Python 3.12
  28. Установка пакетов с помощью pip
  29. Отправка POST запроса на сервер.
  30. Метод is_absolute() для PurePath
  31. Оператор деления для класса Rational
  32. Множественные конструкторы в Python
  33. Работа с географическими данными в Python
  34. Скрытие вывода данных
  35. Разделение строки на пары ключ-значение.
  36. f-строки в формате строк
  37. Сравнение объектов в Python
  38. Оптимизация памяти с __slots__
  39. Лямбда-функции для min/max
  40. Импортирование в Python
  41. Функции map, filter и reduce
  42. Присвоение значений переменным в Python
  43. Работа с модулем os в Python
  44. Обработка ошибок в Python
  45. Утечки переменных цикла в Python 3.x
  46. Удаление элементов из списка в Python
  47. Логирование с Logzero
  48. Списковое включение в Python

Marketello читают маркетологи из крутых компаний