Сегодня моя заметка будет про бесплатно распространяемую библиотеку компьютерного зрения OpenCV и о том, для каких целей она может использоваться.
Для начала разберемся, что такое библиотека?
Библиотека (в программировании) – это файл или набор файлов, содержащих подпрограммы, функции, которые используются для разработки программного обеспечения. Разные языки программирования имеют свой набор библиотек.
Например, если программист пишет программу, которая выводит график функции y=sin(x), то при этом обязательно будет использоваться библиотека, содержащая математические функции. Библиотеки могут реализовывать совершенно разные возможности. Программисты могут создавать свои собственные библиотеки.
Выделяют:
- Стандартные библиотеки — поставляются с языком программирования.
- Пользовательские библиотеки — создаются пользователями или программистами.
Библиотека OpenCV
OpenCV — это библиотека компьютерного зрения с открытым исходным кодом, разработанная компанией Intel на языке программирования C/C++. Также, она существует для некоторых других языков, например, для Java. Включает в себя различные алгоритмы компьютерного зрения, распознавания изображений и многое другое, работающих в реальном режиме времени. Все желающие могут использовать библиотеку OpenCV бесплатно, как в образовательных целях, так и в коммерческих проектах.
Применение OpenCV
OpenCV включает в себя следующие алгоритмы:
- Распознавание объектов.
- Распознавание текста.
- Устранение искажений.
- Выявление сходства и формы объектов.
- Слежение за перемещением объекта.
- Распознавание движений, жестов и многое другое.
Например, данную библиотеку можно использовать для создания программы для поиска лиц на изображении с видеокамеры телефона или фотоаппарата (для автоматической фокусировки).
Применение OpenCV
На сегодняшний день распознавание объектов в мультимедийном видеопотоке становится особо актуальными. Ведется очень много исследований в этой области. На одной из конференций я видел презентацию одной интересной системы немецкими учеными, в которой программное обеспечение распознавало фигуры людей, и в зависимости от того куда двигался человек программа автоматически поворачивала камеру и следила за ним.
Данную систему, возможно, использовать для автоматической записи лекций, которые читает преподаватель у доски. Насколько я понял, в их алгоритме существуют некоторые проблемы, которые они как раз хотят решить. Например, когда в кадр попадали две фигуры, программа могла спутать преподавателя со вторым человеком. Также, ребята из Германии предлагали поучаствовать в их проекте всем заинтересованным желающим.
Ниже, предлагаю посмотреть видео, демонстрирующее работу программы, которая использует библиотеку OpenCV.
Возможно, после прочтения этой статьи у кого-то появится желание написать какую-то полезную программу с использованием OpenCV. Успехов!
[tube] http://www.youtube.com/watch?v=rDTun7A6HO8, 400, 240 [/tube]
Комментарии: