Для лучшего понимания материала, давайте вначале разберемся с самим определением библиотеки.
Библиотека (в программировании) – это файл или набор файлов, содержащих подпрограммы, функции, которые используются для разработки программного обеспечения. Каждый язык программирования имеет свой набор библиотек, эти библиотеки называются стандартными, кроме стандартных библиотек есть еще пользовательские библиотеки, они предназначены для использования специализированных задач, разрабатываются программистами. Сегодня мы познакомимся с графической библиотекой разработанной компанией Intel на языке программирования С/С++, которая широко применяется для создания систем видеонаблюдения.
Итак OpenCV (open source computer vision library)— это библиотека компьютерного зрения с открытым исходным кодом. Также, она существует для некоторых других языков, например, для Java. Включает в себя различные алгоритмы компьютерного зрения, распознавания изображений и многое другое, работающих в реальном режиме времени. Все желающие могут использовать библиотеку OpenCV бесплатно, как в образовательных целях, так и в коммерческих проектах.
Она включает в себя следующие алгоритмы:
Поддерживаемые платформы и инструменты для OpenCV:
Средства GUI, захват видео:
Документация: статический HTML
В качестве примера данную библиотеку можно использовать для поиска лиц на изображении или в видеопотоке с видеокамеры телефона или фотоаппарата.
На сегодняшний день распознавание объектов в мультимедийном видеопотоке становится особо актуальными. Ведется очень много исследований в этой области. Например немецкими учеными было разработано программное обеспечение, которое распознавало фигуры людей, и в зависимости от того куда двигался человек программа автоматически поворачивала камеру и следила за ним.
Большинство учёных и программистов-практиков знают о некоторых аспектах компьютерного зрения, но мало кто знает обо всех областях, в которых оно используется. Например, большинство людей знает, что оно используется в системах наблюдения, и многие также знают, что компьютерное зрение всё чаще применяется для обработки фото и видео в интернете. Некоторые видели, как компьютерное зрение используется в интерфейсах игр. Некоторые знают о роли, которую компьютерное зрение играет в аэрофотосъёмке и в изображениях карт улиц. Некоторые знают о нише, занимаемой компьютерным зрением в области беспилотных летательных аппаратов и биомедицинском анализе. Но немногие знают, насколько обыкновенным делом стало машинное зрение в производстве: практически всё, что выпускается серийно, на каком-то этапе автоматически проверяется с использованием компьютерного зрения.
Открытая лицензия для OpenCV была составлена таким образом, чтобы было возможно создавать коммерческие приложение, используя любые возможности OpenCV. Вы не обязаны делать Ваш проект открытым или публиковать изменения, внесённые вами в библиотеку, хотя мы надеемся, что вы это сделаете. Отчасти из-за таких либеральных условий существует большое сообщество пользователей, включающее в себя такие крупные компании как IBM, Microsoft, Intel, Sony, Siemens, Google, и это далеко не полный список, а также научно-исследовательские центры, такие как Стэнфорд, Массачусетский технологический институт, CMU, Кембридж, и INRIA. OpenCV популярна во всём мире, причём большие сообщества пользователей можно найти в Китае, Японии, России, Европе и Израиле.
С момента своего альфа-релиза в январе 1999 года, OpenCV была использована во многих приложениях и научно-исследовательских работах, в том числе: наложение обычных карт и фотографий со спутника, выравнивание документов при сканировании, удаление шума из медицинских изображений, анализ объектов, системы безопасности, автоматическое наблюдение, системы контроля качества на производстве, калибровка камер, а также беспилотные летательные, наземные и подводные аппараты. Она даже была использована для распознавания звука и музыки, где методы распознавания образов были применены к изображениям спектрограмм звука. Библиотека стала ключевой частью системы зрения робота "Stanley" из Стэнфорда, выигравшего 2.000.000$ на Больших Пустынных Гонках Роботов DARPA.
Давайте теперь разберемся с функциональностью OpenCV, итак она седержит следующие составляющие:
И наконец какое планируемое будущее развитие ждет OpenCV:
Библиотека OpenCV достаточно мощный инструмент для решения задач как в научной , так и промышленной областях.