Курс 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. Получение пути к текущему скрипту с помощью os
  2. Оператор Walrus в Python 3.8
  3. Метод join() для объединения элементов
  4. Измерение времени выполнения кода с использованием time
  5. Форматирование данных с pprint
  6. Блок else в обработке исключений
  7. Python Enumerate
  8. Удаление знаков препинания в Python
  9. Вычисление фазы комплексного числа
  10. Поиск простых чисел
  11. Оптимизация памяти в Python
  12. Возврат нескольких значений
  13. Тип CodeType в Python.
  14. Проблема с изменяемыми аргументами
  15. Структуры данных в Python
  16. Обновление данных через PUT запрос
  17. Функция reduce() в Python
  18. Сокращение ссылок с pyshorteners
  19. Получение комбинаций в Python
  20. Функция print() — вывод информации
  21. Основы работы со списками
  22. Оператор Walrus в Python
  23. Математические функции в Python
  24. Создание и использование ChainMap
  25. Работа со списками
  26. Нахождение самого длинного слова в списке с помощью max
  27. Работа с OpenCV
  28. Генерация тестовых данных с factory_boy
  29. Управление экспортом элементов
  30. Инверсия списка/строки в Python
  31. Преобразование чисел в Python
  32. Абстракции словарей и множеств в Python
  33. Преобразование символов с помощью map
  34. Извлечение новостей с newspaper3k
  35. Метод setdefault() в Python
  36. Подсчет частотности элементов в Python
  37. Изменение объектов в Python
  38. Использование *args
  39. Подсчет элементов в списке с Counter
  40. Импорт модулей и пакетов в Python
  41. Удаление элемента из списка
  42. Объединение словарей в Python
  43. Создание словаря через dict comprehension
  44. discard() — удаление элемента из множества
  45. Метод ne для сравнения объектов

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