Курс 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. split() без разделителя
  2. Форматирование заголовков в Python
  3. Возврат нескольких значений
  4. Генерация случайных чисел Python
  5. Копирование объектов в Python
  6. Методы работы со списками
  7. Применение функции к каждому элементу списка
  8. Классы данных в Python
  9. Python: цикл for и оператор присваивания
  10. Генератор списка с условием if
  11. Аннотации типов в Python
  12. Numpy: разбиение массивов
  13. Асинхронное программирование с asyncio
  14. Явный импорт в Python
  15. Защита данных в Python
  16. Навыки Python: строки, типы данных
  17. Вычисление разности множеств в Python
  18. Склеивание строк через метод join()
  19. Настройка вывода в Numpy
  20. Удаление ссылок в Python
  21. Функция enumerate в Python
  22. Инвертирование словаря
  23. Переопределение метода __floordiv__
  24. Настройка нарезки списков
  25. Изменение элемента списка
  26. Отправка поздравлений по дню рождения
  27. Инверсия списка и строки
  28. Передача аргументов через **arguments
  29. Работа с пользовательским вводом
  30. Измерение потребления памяти при сортировке
  31. Структурирование данных с Pydantic
  32. Подсчет частотности элементов в Python
  33. Работа с NumPy.linalg
  34. HTTP-запросы с библиотекой Requests
  35. Логирование с Logzero
  36. Работа с срезами в Numpy
  37. Оператор «is not» в Python
  38. Создание детектора плагиата
  39. Повторение элементов в Python
  40. Операции с кортежами
  41. Равенство и идентичность в Python
  42. Работа с CSV файлами в Python
  43. Python Метод del.
  44. Проблемы с dict в Python
  45. Defaultdict в Python
  46. Метод __iand__ для пользовательских классов

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