- Основные возможности библиотеки Python Imaging Library / Pillow / PIL
- Что такое Pillow?
- Загрузка и установка Pillow
- Убедитесь, что Pillow установлена
- Форматы файлов
- Как использовать Pillow для работы с изображениями
- Использование Pillow
- Installation¶
- Simple installation¶
- External libraries¶
- Linux installation¶
- Mac OS X installation¶
- Windows installation¶
- Python Eggs¶
- Python Wheels¶
- Platform support¶
Основные возможности библиотеки Python Imaging Library / Pillow / PIL
PIL, известная как библиотека Python Imaging Library, может быть использована для работы с изображениями достаточно легким способом. У PIL не было никаких изменений и развития с 2009. Поэтому, добрые пользователи этого сайта предложили взглянуть на Pillow еще раз. Эта статья поможет вам узнать как пользоваться Pillow.
Что такое Pillow?
Pillow это форк PIL (Python Image Library), которая появилась благодаря поддержке Алекса Кларка и других участников. Основана на коде PIL, а затем преобразилась в улучшенную, современную версию. Предоставляет поддержку при открытии, управлении и сохранении многих форматов изображения. Многое работает так же, как и в оригинальной PIL.
Загрузка и установка Pillow
Перед началом использования Pillow, нужно загрузить и установить ее. Pillow доступна для Windows, Mac OS X и Linux. Самая “свежая” версия — это версия “8.1.0”, она поддерживается на python 3.6 и выше. Для установки Pillow на компьютеры Windows используйте conda или pip :
conda install -c anaconda pillow pip install Pillow
Для установки Pillow на компьютерах Linux просто используйте:
А установки Pillow на MacOS X нужно для начала установить XCode, а затем Homebrew. После того как Homebrew установлен, используйте:
$ brew install libtiff libjpeg webp littlecms $ sudo pip install Pillow
Убедитесь, что Pillow установлена
Убедитесь, что Pillow установлена, откройте терминал и наберите следующее в текущей строке:
$ python Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from PIL import Image
Если система показывает снова >>> , значит модули 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, которые вы хотите использовать.
Installation¶
Pillow >= 2.1.0 no longer supports “import _imaging”. Please use “from PIL.Image import core as _imaging” instead.
Pillow >= 1.0 no longer supports “import Image”. Please use “from PIL import Image” instead.
PIL and Pillow currently cannot co-exist in the same environment. If you want to use Pillow, please remove PIL first.
Pillow >= 2.0.0 supports Python versions 2.6, 2.7, 3.2, 3.3, 3.4
Simple installation¶
The following instructions will install Pillow with support for most formats. See External libraries for the features you would gain by installing the external libraries first. This page probably also include specific instructions for your platform.
You can install Pillow with pip:
Or easy_install (for installing Python Eggs, as pip does not support them):
Or download the compressed archive from PyPI, extract it, and inside it run:
External libraries¶
Many of Pillow’s features require external libraries:
- libjpeg provides JPEG functionality.
- Pillow has been tested with libjpeg versions 6b, 8, and 9
- Pillow has been tested with libtiff versions 3.x and 4.0
- Pillow version 2.2.1 and below uses liblcms1, Pillow 2.3.0 and above uses liblcms2. Tested with 1.19 and 2.2.
- Pillow has been tested with version 0.1.3, which does not read transparent webp files. Versions 0.3.0 and 0.4.0 support transparency.
- Pillow has been tested with openjpeg 2.0.0.
If the prerequisites are installed in the standard library locations for your machine (e.g. /usr or /usr/local ), no additional configuration should be required. If they are installed in a non-standard location, you may need to configure setuptools to use those locations (i.e. by editing setup.py and/or setup.cfg ). Once you have installed the prerequisites, run:
Linux installation¶
Fedora, Debian/Ubuntu, and ArchLinux include Pillow (instead of PIL) with their distributions. Consider using those instead of installing manually.
You do not need to install all of the external libraries to get Pillow’s basics to work.
We do not provide binaries for Linux. If you didn’t build Python from source, make sure you have Python’s development libraries installed. In Debian or Ubuntu:
$ sudo apt-get install python-dev python-setuptools
$ sudo apt-get install python3-dev python3-setuptools
$ sudo yum install python-devel
Prerequisites are installed on Ubuntu 10.04 LTS with:
$ sudo apt-get install libtiff4-dev libjpeg62-dev zlib1g-dev \ libfreetype6-dev tcl8.5-dev tk8.5-dev python-tk
Prerequisites are installed with on Ubuntu 12.04 LTS or Raspian Wheezy 7.0 with:
$ sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev \ libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
Prerequisites are installed on Fedora 20 with:
$ sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel \ lcms2-devel libwebp-devel tcl-devel tk-devel
Mac OS X installation¶
You do not need to install all of the external libraries to get Pillow’s basics to work.
We do not provide binaries for OS X, so you’ll need XCode to install Pillow. (XCode 4.2 on 10.6 will work with the Official Python binary distribution. Otherwise, use whatever XCode you used to compile Python.)
The easiest way to install the prerequisites is via Homebrew. After you install Homebrew, run:
$ brew install libtiff libjpeg webp littlecms
If you’ve built your own Python, then you should be able to install Pillow using:
Windows installation¶
We provide binaries for Windows in the form of Python Eggs and Python Wheels:
Python Eggs¶
pip does not support Python Eggs; use easy_install instead.
Python Wheels¶
Experimental. Requires setuptools >=0.8 and pip >=1.4.1
$ pip install --use-wheel Pillow
If the above does not work, it’s likely because we haven’t uploaded a wheel for the latest version of Pillow. In that case, try pinning it to a specific version:
$ pip install --use-wheel Pillow==2.3.0
Platform support¶
Current platform support for Pillow. Binary distributions are contributed for each release on a volunteer basis, but the source should compile and run everywhere platform support is listed. In general, we aim to support all current versions of Linux, OS X, and Windows.
Contributors please test on your platform, edit this document, and send a pull request.