Библиотека pil python 3

Python Imaging Library
Тип библиотека языка Python
Разработчик Fredrik Lundh
Написана на C, Python
Операционная система Linux, Mac OS X и др. UNIX-подобные, Windows
Последняя версия 1.1.7(15 ноября 2009)
Состояние активное
Лицензия Python Imaging Library license
Сайт pythonware.com/products/…
Медиафайлы на Викискладе

Python Imaging Library (сокращенно PIL) — библиотека языка Python (версии 2), предназначенная для работы с растровой графикой.

Разработка библиотеки прекращена (последняя правка датируется 2011 годом). [1] Однако проект под названием Pillow, являющийся форком PIL, развивается и включает, в том числе, поддержку Python 3.x. [2] Этот форк был принят в качестве замены оригинальной библиотеки и включён в некоторые дистрибутивы Linux, включая Debian [3] и Ubuntu (с 13.04). [4]

Содержание

Возможности библиотеки [ править | править код ]

  • поддержка бинарных, полутоновых, индексированных, полноцветных и CMYK изображений;
  • поддержка форматов BMP, EPS, GIF, JPEG, PDF, PNG, PNM, TIFF и некоторых других на чтение и запись;
  • поддержка множества форматов (ICO, MPEG, PCX, PSD, WMF и др.) только для чтения;
  • преобразование изображений из одного формата в другой;
  • правка изображений (использование различных фильтров, масштабирование, рисование, матричные операции и т. д.);
  • использование библиотеки из Tkinter и PyQt.

Примеры [ править | править код ]

Надпись на цветном фоне можно создать с помощью метода text объекта-изображения. В следующем примере надпись наносится на вновь созданное изображение размером 100 на 50 пикселей:

PIL, известная как библиотека Python Imaging Library, может быть использована для работы с изображениями достаточно легким способом. У PIL не было никаких изменений и развития с 2009. Поэтому, добрые пользователи этого сайта предложили взглянуть на Pillow еще раз. Эта статья поможет вам узнать как пользоваться Pillow.

Что такое Pillow?

Pillow это форк PIL (Python Image Library), которая появилась благодаря поддержке Алекса Кларка и других участников. Основана на коде PIL , а затем преобразилась в улучшенную, современную версию. Предоставляет поддержку при открытии,управлении и сохранении многих форматов изображения. Многое работает так же, как и в оригинальной PIL.

Читайте также:  Credential guard key guard

Загрузка и установка Pillow

Перед началом использования Pillow, нужно загрузить и установить ее. Pillow доступна для Windows, Mac OS X и Linux. Самая “свежая” версия — это версия “5.3.0” и она поддерживается на python 2.7 и выше. Для инсталляции Pillow на компьютеры Windows используйте easy_install или pip :

Для установки Pillow на компьютерах Linux просто используйте:

А установки Pillow на Mac OS X нужно для начала установить XCode, а затем Homebrew. После того как Homebrew установлен, используйте:

Убедитесь, что Pillow установлена

Убедитесь, что Pillow установлена, откройте терминал и наберите следующее в текущей строке:

Если система показывает снова >>> , значит модули Pillow правильно установлены.

Форматы файлов

Перед началом использования модуля Pillow, давайте укажем некоторые поддерживаемые типы файлов: BMP, EPS, GIF, IM, JPEG, MSP, PCX PNG, PPM, TIFF, WebP, ICO, PSD, PDF . Некоторые типы файлов возможны только для чтения, в то время как другие доступны только для написания. Чтобы увидеть полный список поддерживаемых типов файла и больше информации о них, ознакомьтесь с руководством к Pillow.

Как использовать Pillow для работы с изображениями

Поскольку мы собираемся работать с изображениями, для начала, скачаем одно. Если у вас уже есть изображение, которое хотите использовать, пропустите этот шаг, описанный ниже. В нашем примере будем использовать стандартное тестовое изображение под названием «Lenna» или «Lena». Это изображение используется во многих экспериментах по обработке изображений. Просто зайдите сюда и загрузите изображение. Если вы нажмете на изображение, оно сохранится как изображение с количеством пикселей 512×512.

Использование Pillow

Давайте посмотрим на возможные варианты использования этой библиотеки. Основные функции находятся в модуле Image . Вы можете создавать экземпляры этого класса несколькими способами. Путем загрузки изображений из файлов, обработки других изображений, либо создания изображений с нуля. Импортируйте модули Pillow, которые вы хотите использовать.

Тест на знание python

Затем вы получите доступ к функциям.

Загрузка изображения

Используйте метод open идентификации файла на компьютере, а затем загрузить идентифицированный файл с помощью myfile.load() . Как только изображение будет загружено, с ним можно работать. Часто используется блок try except при работе с файлами. Чтобы загрузить изображение с помощью try except используйте:

Читайте также:  Жёсткий диск не виден в диспетчере устройств

Когда мы считываем файлы с диска с помощью функции open() , нам не нужно знать формат файла. Библиотека автоматически определяет формат, основанный на содержании файла. Теперь, когда у вас есть объект Image , вы можете использовать доступные атрибуты для проверки файла. Например, если вы хотите увидеть размер изображения, вы можете использовать атрибут format .

Атрибут size — это tuple (кортеж), содержащий ширину и высоту (в пикселях). Обычные mode : L для изображений с оттенками серого, RGB для изображений с истинным цветным изображением и CMYK для печати изображений. В результате кода выше, вы должны получить следующее (если используете Lenna.png):

Размытие изображения

Этот пример загрузит и размоет изображение с жесткого диска.

Размытое изображение должно выглядеть следующим образом:
Чтобы открыть изображение, мы использовали методы show() . Если вы ничего не видите, можете сначала установить ImageMagick и попробовать снова.

Создание миниатюр

Есть необходимость создавать миниатюры для изображений. Миниатюры представляют собой уменьшенные версии изображений, но все же содержат все наиболее важные аспекты изображения.

Результат выполнения скрипта, можно увидеть в миниатюре:

Фильтры в Pillow

В модуле Pillow предоставляет следующий набор предопределенных фильтров для улучшения изображения:

  • BLUR
  • CONTOUR
  • DETAIL
  • EDGE_ENHANCE
  • EDGE_ENHANCE_MORE
  • EMBOSS
  • FIND_EDGES
  • SMOOTH
  • SMOOTH_MORE
  • SHARPEN

В нашем последнем примере мы покажем, как вы можете применить фильтр CONTOUR к вашему изображению. Приведенный ниже код примет наше изображение и применит к нему фильтр

Ниже вы можете увидеть изображение с примененным фильтром CONTOUR :

Для работы с изображениями в Python наиболее часто используют библиотеку PIL (Python Image Library). В этой статье рассмотрим базовые возможности данной библиотеки, применяемые наиболее часто. Для установки библиотеки скачивайте файл PIL-1.2.6.win32-py2.6.exe с официального сайта библиотеки а затем запускайте уже знакомую для вас установку. Процесс установки очень прост и в комментариях не нуждается. Чтобы проверить работоспособность библиотеки и узнать удачно ли она установилась, в окне Python Shell редактора IDLE наберите следующий код.

Читайте также:  Битрикс поиск по каталогу

Если вы получили ответ, не важно если версия библиотеки будет другая, главное получить ответ а не ошибку. Получив версию библиотеки вы можете работать с ней, значит она успешно установилась.

Уже более пяти лет мы продаем подарочную упаковку оптом. Вы можете купить упаковка подарочная по очень хорошим ценам. В каталоге вы найдете сотни видов подарочной упаковки.

Загрузка готового изображения

Для открытия файла с готовым изображением применяется функция open(). Функция возвращает объект, с помощью которого производится дальнейшая работа с изображением. Если открыть файл с изображением не удалось, возбуждается исключение IOError. Формат функции:

В первом параметре можно указать абсолютный путь или относительный путь к изображению. Откроем файл Forest-large.jpg, который расположен в том же рабочем каталоге, что и сам скрипт.

Вместо указания пути к файлу можно передать файловый объект, открытый в бинарном режиме.

Если изображение было загружено в какую-либо переменную, то можно создать файловый объект с помощью модуля StringIO и передать его в функцию open(). Язык программирования Python имеет много интересных библиотек для работы с видео, музыкой и обработка профессиональных фотографии. Работая над длинной программой код будет удлинятся все глубже и на маленьком экране ноутбука неудобно писать длинные программы. Чтобы расширить свою зону видимости кода нужно подключить второй монитор к ноутбуку и работать уже на широком 22 дюймовом мониторе. Тогда при редактировании видео и изображении на Python ваш результат будет лучше анализированным визуально на широком мониторе чем на ноутбуке.

Загрузка изображения из строки

Как видно из примера, формат изображения определяется автоматически. Следует также заметить, что после открытия файла с помощью функции open() само изображение не загружается сразу в память из файла. Загрузка изображения производится при первой операции с изображением. Загрузить изображение явным образом позволяет метод load(). Хотя в большинстве случаев это делать не нужно. Начиная с версии 1.1.6 метод load() возвращает объект, с помощью которого можно получить доступ к определенным пикселям изображения.