В данной статье мы рассмотрим Python библиотеки предназначенные для простого и понятного преобразования изображений. Обработка и преобразование изображений являются важной задачей в современном мире. С помощью обработки изображений решаются следующие задачи: повышается качество исходного изображения, накладываются фильтры, обработка изображения используется для извлечения нужной информации с картинки поиск объектов на картинке, извлечение текста и др.
Для удобной обработки изображений в Python существует ряд библиотек, которые упрощают процесс работы с изображениями. В Python существуют следующие основные библиотеки для работы с файлами изображений: scikit-image, NumPy, SciPy, Pillow, OpenCV, SimpleCV, Mahotas, SimpleITK, pgmagick, PyCairo. Рассмотрим данные библиотеки более подробно.
Scikit-image
Scikit-image это библиотека Python, предназначенная для обработки изображений. Библиотека реализует алгоритмы и утилиты используемые в исследовательских, образовательных и промышленных приложениях. Модуль выпущен под либеральной Модифицированной лицензией BSD с открытым исходным кодом, предоставляет хорошо документированный API разработан активной международной командой сотрудников.
Библиотека простая и удобная в использовании. Библиотека хорошо задокументирована с обилием практических примеров. Документация доступна по ссылке.
Установка библиотеки через командную строку:
pip install scikit-image
Большинство функций scikit-image совместимы с 3D-наборами данных, т.е. изображениями с 3 пространственных измерений.
Пример:
NumPy
NumPy - библиотека с открытым исходным кодом для языка программирования Python. Возможности: поддержка многомерных массивов (включая матрицы), поддержка высокоуровневых математических функций, предназначенных для работы с многомерными массивами. Данная библиотека широко применяется для машинного обучения. Наиболее полезной опцией, предоставляемой данным инструментом, является интерфейс массива.
Изображение представляет собой стандартный массив NumPy, содержащий пиксели точек данных. Таким образом, с помощью NumPy мы можем изменять пиксельные значения изображения.
Установка библиотеки через командную строку:
pip install numpy
Документация доступна по ссылке.
SciPy
SciPy это программное обеспечение с открытым исходным кодом для математики, науки и техники. Библиотека SciPy зависит от NumPy, которая обеспечивает удобное и быстрое манипулирование массивом. SciPy был создан для работы с NumPy массивами, предоставляет множество удобных и эффективных подпрограмм, таких как подпрограммы для численного интегрирования и оптимизации.
scipy.ndimage модуль предоставляет ряд общих средств обработки и анализа изображений. Функции модуля, предназначены для работы с массивами произвольных размерностей. В настоящее время включает в себя: функции для линейной и нелинейной фильтрации, бинарной морфологии, интерполяции и измерении объектов.
Установка библиотеки через командную строку:
pip install scipy
Документация доступна по ссылке.
Пример:
Pillow
Pillow это свободно распространяемая библиотека для работы с изображениями на Python, которая поддерживает изменения и сохранения изображений в различных расширениях. Библиотека содержит базовый функционал для обработки изображений, включая точечные операции, фильтры с набором встроенных ядер свертки и преобразование цветового пространства.
Установка библиотеки через командную строку:
pip install Pillow
Документация доступна по ссылке.
Пример:
OpenCV-Python
OpenCV по сути стандартная библиотека в области обработки изображений и компьютерного зрения. Была разработана для обработки визуальных данных в реальном времени.
В библиотеку входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения.
Распознавание объектов производится с помощью цветовой сегментации изображения.
Библиотека OpenCV, позволяет распознавать различные объекты, такие как людей на снимке, части тела, дорожные знаки, автомобили, строения многое другое. Библиотека позволяет обучать свои модели для распознавания и классификации объектов.
Установка библиотеки через командную строку:
pip install opencv-python
Документация доступна по ссылке.
Пример:
Python содержит набор бесплатных, полезных и удобных библиотек по обработке изображений. Одни из них более популярны, чем другие. Некоторые библиотеки предназначены только для простой обработки изображений, другие библиотеки широкого применения с их помощью можно как обрабатывать изображения, так и анализировать их, извлекать и классифицировать объекты на изображении. При выборе библиотеки необходимо учитывать особенности решаемой задачи. Мы рассмотрели лишь часть популярных библиотек по обработке изображений. В следующих статьях мы рассмотрим библиотеки SimpleCV, Mahotas, SimpleITK, pgmagick, PyCairo.
Python библиотеки для работы с изображениями, часть 2.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am