Top.Mail.Ru

Возможности библиотеки Open CV

Open CV — это популярная библиотека для компьютерного зрения. А компьютерное
зрение — это целое направление в искусственном интеллекте, которое
специализируется на распознавании и понимании видеоизображений и сцен.
Компьютерное зрение имеет очень широкий круг применения: от поиска
преступников на улице, до идентификации лиц для разблокирования смартфона.
Для того чтобы компьютерное зрение было возможным и существуют подобные
библиотеки как OpenCV, в которых собраны все необходимые для этого
инструменты.
Open CV может помочь осуществить не только поиск объектов по шаблону, но
множество других операций с графическими рисунками:

  • импортировать и просматривать изображения;
  • обрезать;
  • изменять размер;
  • поворачивать изображение;
  • размывать или сглаживать;
  • рисовать линии и прямоугольники;
  • налаживать текст на изображение;
  • распознавать лица;
  • сохранять изображение.

При этом главным моментом, почему библиотека Open CV пользуется
популярностью — это поиск объектов на изображении по заданному шаблону. Само
по себе обнаружение объектов является наиболее важным и глубоким элементом
компьютерного зрения. Поэтому ему уделяется особое внимание. И если бы не
существовало обнаружение объектов, то не было бы и самого машинного зрения.
Ведь, прежде чем осуществить с изображением какие-то действия, на нем нужно
определить и идентифицировать все находящиеся на нем объекты.

Open CV – это поиск объектов по шаблону и не только

Данная библиотека рассчитана на язык программирования Python, но при этом она
есть и для других языков. Установить ее можно на все популярные платформы:

  • Windows;
  • Linux;
  • MacOS;
  • и др.

Установить эту библиотеку на свой компьютер можно через Консоль. А использовать
ее лучше с языком Питон. Чтобы ее установить нужно ввести в Консоль следующее:

  • для Windows: $ pip install opencv-python
  • для Линукс: $ sudo apt-get install libopencv-dev python-opencv
  • для МакОС: $ brew install opencv – – with-contrib – – with-python

Описанные команды подразумевают, что у вас уже установлен Python и вы будете
использовать эту библиотеку именно для Питона.

Open CV : основные действия с изображениями

Самое первое и простое действие — это просмотр изображения. Для того чтобы
просмотреть изображение, оно должно быть загружено на компьютер. Просмотреть
изображение можно при помощи следующего кода:
import cv2
images = cv2.imread(“./указываем путь /к/вашему изображению.png”)
cv2.imshow(“Images”, images)
cv2.waitKey(0)
cv2.destroyAllWindows()
Можно кадрировать изображение, для этого используют код:

import cv2
cropped = image[15:425, 425:1980]
viewImage(cropped, “Фотография после кадрирования”)
Вот это выражение: «image[15:425, 425:1980]» показывает координаты
кадрирования.
Можно «размыть» или «сгладить» графический рисунок. Для этого подойдет вот
такой вот скрипт:
import cv2
blurred = cv2.GaussianBlur(image, (49, 49), 0)
viewImage(blurred, “Размываемая фотография”)
В этом скрипте используется операция «Размывание по Гауссу», где нужно
задать 2 параметра:

  • оригинальное изображение;
  • два нечетных и неотрицательных числа, которые указывают силу сглаживания, чем выше значение числа, тем больше сила;
  • sigmaX и sigmaY, когда идентификатор обозначен 0-м, тогда эти параметры рассчитываются в автоматическом режиме.

Можно расположить текст на графическом рисунке. Для этого можно использовать
вот такой вот скрипт:
import cv2

output = image.copy()
cv2.putText(output, “Текст на графическом рисунке”, (2155,
4785),cv2.FONT_LIBERATION_SERIF, 14, (25, 95, 225), 35)
viewImage(output, “Графический рисунок, на котором наложен текст”)
Данный код включает насколько важных параметров:

  • оригинальный рисунок;
  • текст, который нужно наложить;
  • координаты начала текстового выражения;
  • каким шрифтом изобразить текст;
  • размер букв;
  • цвет текста;
  • толщина шрифта.

Open CV поиск объектов по шаблону

Данную функцию библиотеки Open CV хочется выделить из-за ее важности. Самый
распространенный метод распознать объекты на графических рисунках — это
цветовая сегментация, которая применяет всего 2 функции, для распознавания
контуров и оттенков:

  • cv2.findContours;
  • cv2.drawContours.

Она определяет контуры и цветовую схему изображенных объектов, потом
сравнивает эти значения с объектами из библиотеки. Результатом будет выдан
объект из библиотеки, с которым будет наибольший процент сходства у объекта на
изображении. Чтобы «сходство» и результаты были точнее, нужно будет постоянно
обучать программу.
Помимо этой функции, есть еще множество других алгоритмов и методов поиска
объектов, это:

  • R-CNN;
  • Fast-RCNN;
  • Faster-RCNN,
  • RetinaNet;
  • SSD;
  • YOLO;
  • и др.

В принципе, невозможно в рамках одной статьи привести код по какому-либо из
алгоритмов,чтобы показать, как осуществить поиску объектов на графическом
рисунке. Потому что любой из этих алгоритмов, требует глубокого знания и
понимания, что такое машинное обучение и фреймворков математического
обучения.

Возможно вам будет интересно почитать статью “Node JS: плюсы и минусы среды запуска JavaScript-приложений”

Выводы

OpenCV — это одна из лучших библиотек для компьютерного видения. С ее
возможностями можно не только осуществлять поиск объектов по шаблону, но и
выполнять более простые операции с графическими рисунками.
Для того чтобы воспользоваться функцией поиска объектов по шаблону, нужно более
глубже изучать OpenCV и в общем технологию машинного зрения. Цель нашей
статьи — это лишь слегка приоткрыть возможности библиотеки OpenCV и
вдохновить вас на ее изучение, а возможно на изучение машинного зрения.

Text.ru - 100.00%
Поделись статьей с друзьями!

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *