В данной статье мы рассмотрим Python библиотеки предназначенные для простого и понятного преобразования изображений. Обработка и преобразование изображений являются важной задачей в современном мире. С помощью обработки изображений решаются следующие задачи: повышается качество исходного изображения, накладываются фильтры, обработка изображения используется для извлечения нужной информации с картинки поиск объектов на картинке, извлечение текста и др.
Для удобной обработки изображений в Python существует ряд библиотек, которые упрощают процесс работы с изображениями. В Python существуют следующие основные библиотеки для работы с файлами изображений: scikit-image, NumPy, SciPy, Pillow, OpenCV, SimpleCV, Mahotas, SimpleITK, pgmagick, PyCairo. Рассмотрим данные библиотеки более подробно. В первой части мы рассмотрели библиотеки scikit-image, NumPy, SciPy, Pillow, OpenCV, во второй части рассмотрим SimpleCV, Mahotas, SimpleITK, pgmagick, PyCairo.
SimpleCV
SimpleCV это платформа с открытым исходным кодом, то есть набор библиотек и программного обеспечения, которые используется для разработки приложений машинного зрения. Библиотека позволяет работать с изображениями и видеопотоками, поступающими с веб-камер, мобильных телефонов. С помощью SimpleCV можно создавать приложения которые не просто обрабатывают изображения, но и анализируют его. понимали его. Модуль написан на Python и работает на Mac, Windows и Ubuntu Linux.
Библиотека простая и удобная в использовании. Библиотека хорошо задокументирована с обилием практических примеров. Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install SimpleCV
Mahotas
Mahotas это библиотека быстрых алгоритмов компьютерного зрения (реализованная на C++ для скорости), работает с массивами numpy.
Mahotas в настоящее время имеет более 100 функций для обработки изображений и компьютерного зрения, и они продолжают расти.Mahotas обеспечивает хорошее решение для поиска закономерностей на изображении.Задачи решаемые с помощью библиотеки:
- Загрузка изображения и запись (включая такие форматы, как LSM или STK);
- Фильтрация изображений (морфологическая, по Гауссу и т. д.);
- Вычисление признаков (Haralick, LBP, SURF и т. д.);
- Большинство функций работают в 3D;
- Множество полезных функций (всего более 100 функций).
Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install SimpleCV
SimpleITK
SimpleITK это набор инструментов для анализа изображений с большим количеством компонентов, поддерживающий общие операции фильтрации, сегментации и регистрации изображений. Сюда относится и SimpleITK упрощенный слой, «надстроенный» поверх ITK. Данный слой облегчает работу с библиотекой при быстром прототипировании, обучении и интерпретируемых языках. Сам SimpleITK написан на C++, но доступен для большого количества языков программирования.
Одним из преимуществ SimpleITK является то, что вам не нужно его собирать, вы можете просто скачать бинарные файлы и начать работу. До сих пор бинарные файлы Python доступны для Microsoft Windows, Linux и Mac Os в некоторых операционных системах.
Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install SimpleITK
Конвертация изображений
Pgmagick
Pgmagick это привязка GraphicsMagick для Python. Этот модуль предоставляет методы для редактирования изображений и манипулирования ими. Возможности библиотеки:
- Изменяйте размер, поворачивайте, повышайте резкость, уменьшайте цвет или добавляйте к изображению специальные эффекты;
- Создавайте прозрачные изображения;
- Сравните два изображения;
- Создайте градиентное изображение;
- Нарисовать текст;
- Получить размер изображения;
- Создавайте GIF-анимацию с использованием изображений;
- Добавьте рамки к изображению;
- Преобразует изображения из одного формата в другой.
Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install pgmagick
Повысить резкость фильтрации:
Фильтрация размытия:
PyCairo
Cairo это библиотека, используемая при создании 2D графики, написанная на языке программирования С. Библиотека также может работать в связке со следующими языками программирования, такими как Python, Perl, C++, C, и Java. Cairo является мультиплатформенной библиотекой, работающей с такими ОС как Linux, BSDs, Windows и OSX. Cairo поддерживает различные бэкэнды, являющиеся средствами для отображения созданной графики.
Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install pycairo
Python содержит набор бесплатных, полезных и удобных библиотек по обработке изображений. Одни из них более популярны, чем другие. Некоторые библиотеки предназначены только для простой обработки изображений, другие библиотеки широкого применения с их помощью можно как обрабатывать изображения, так и анализировать их, извлекать и классифицировать объекты на изображении. При выборе библиотеки необходимо учитывать особенности решаемой задачи. Мы рассмотрели лишь популярные библиотеки по обработке изображений: scikit-image, NumPy, SciPy, Pillow, OpenCV, SimpleCV, Mahotas, SimpleITK, pgmagick, PyCairo.
Python библиотеки для работы с изображениями, часть 1.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am