Обработка изображений с Python и Pillow

Обработка изображений с Python и Pillow

Обработка изображений  с Python и Pillow

Обработка изображений в Python осуществляется множеством библиотек. Какие-то из них лучше подходят для обработки, другие для машинного обучения, но все они имеют базовые возможности поиска, открытия, обработки и закрытия изображений. Сегодня мы рассмотрим библиотеку изображений PythonPIL(Python Image Library).
Данная библиотека создана специально для работы с изображениями. Она позволяет преобразовывать, архивировать, распаковывать, извлекать данные, строить гистограммы и создавать статистические ряды для машинного обучения.

Библиотека PIL не является встроенной. Чтобы скачать ее на Windows, Linux, MacOS необходимы две команды:



python3 -m pip install --upgrade pip

python3 -m pip install --upgrade Pillow

Для работы с изображениями необходимо обратиться к классу изоражений. Основным классом здесь является Image. Экземпляр класса можно создать либо открыв существующее изображение, либо создав его с нуля. Для простой загрузки изображения из файла, используем функцию open() модуля Image.



>>> from PIL import Image

>>> im = Image.open("xxx.png")


В случае успеха, возвращается объект Image. Теперь можно использовать атрибуты экземпляра для просмотра содержимого.



>>> print(im.format, im.size, im.mode)



# вывод

PNG (800, 600) RGBA

Атрибут format определяет расширение изображения. Если изображение не было открыто из файла, то значением для него будет None. Атрибут size представляет собой кортеж, содержащий ширину и высоту (в пикселях). mode определяет цветовой тип, а также тип и глубину пикселей. Общими режимами являются “L” (яркость) для изображений в оттенках серого, “RGB” для изображений истинного цвета и “CMYK” для изображений перед печатью.

Если файл не может быть открыт, возникает исключение ошибки операционной системы.

Как только у вас появится экземпляр класса Image, можно вызывать методы, определенные этим классом, для обработки изображения и управления им. Например, отобразим изображение, которое только что загрузили:


>>> im.show()

Следует иметь ввиду, что стандартная функция im.show(), не очень эффективна в использовании, но удобна в процессе отладки.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий