Курс 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. Преобразование регистра строк
  2. Параллельные вычисления в Python
  3. Оператор assert в Python
  4. Применение промокода в Много лосося
  5. Частичное применение функций в Python
  6. Разбиение строки в Python
  7. Различия символов в Python
  8. Группы исключений в Python
  9. Работа со строками в Python
  10. Проверка списка: any() и all()
  11. Изменение регистра данных
  12. discard() — удаление элемента из множества
  13. Бинарный поиск
  14. Создание новых списков через list comprehensions
  15. Делегирование в Python
  16. F-строки в Python 3.8
  17. Удаление элемента по индексу
  18. Установка Python3.7 и PIP
  19. Лямбда-функции в Python
  20. Метод join для наборов
  21. Роль object и type в Python
  22. Операторы Splat и splatty-splat
  23. Создание виртуальной среды
  24. Метод get() для словарей
  25. Поиск частых элементов в списке
  26. Замена подстроки
  27. Работа с итераторами через срезы
  28. Настройка вывода NumPy
  29. Управление ресурсами с контекстными менеджерами
  30. Метод count() для списков
  31. Управление виртуальными средами в Python
  32. Создание класса в Python
  33. Умножение строк и списков
  34. Реверс строки в Python
  35. Встраивание HTML в Jupyter Notebook
  36. Solidity для DeFi Ethereum
  37. Многострочные комментарии в Python
  38. Проблемы с именами переменных
  39. Создание функций высшего порядка
  40. Progress с библиотекой tqdm
  41. Оформление кода на Python
  42. Оператор «not» в Python
  43. PUT запрос для обновления данных
  44. Цикл for в Python
  45. Переменные в Python: сокращение гласных

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