OpenCV - OpenCV

OpenCV
Логотип OpenCV с текстом svg version.svg
Автор (ы) оригинала Корпорация Intel , Willow Garage , Итзее
Первый выпуск Июнь 2000 г . ; 21 год назад ( 2000-06 )
Стабильный выпуск
4.5.4 / 9 октября 2021 г . ; 3 дня назад ( 2021-10-09 )
Репозиторий
Написано в C / C ++
Операционная система Кроссплатформенность
Размер ~ 200 МБ
Тип Библиотека
Лицензия Лицензия Apache
Веб-сайт OpenCV .org

OpenCV ( Open Source Computer Vision Library ) - это библиотека функций программирования, в основном предназначенная для компьютерного зрения в реальном времени . Первоначально разработанный Intel , позже он был поддержан Willow Garage, а затем Itseez (который позже был приобретен Intel). Библиотека кроссплатформенна и бесплатна для использования под лицензией Apache 2 с открытым исходным кодом . Начиная с 2011 года, OpenCV поддерживает ускорение графического процессора для операций в реальном времени.

История

Официально запущенный в 1999 году проект OpenCV изначально был инициативой Intel Research по развитию приложений с интенсивным использованием ЦП , частью серии проектов, включая трассировку лучей в реальном времени и трехмерные видеостены . Основными участниками проекта были ряд экспертов по оптимизации из Intel в России, а также команда Intel Performance Library. На заре OpenCV цели проекта описывались как:

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

Первая альфа-версия OpenCV была представлена ​​публике на конференции IEEE по компьютерному зрению и распознаванию образов в 2000 году, а в период с 2001 по 2005 год было выпущено пять бета-версий. Первая версия 1.0 была выпущена в 2006 году. Предварительный выпуск версии 1.1 " "был выпущен в октябре 2008 года.

Второй крупный выпуск OpenCV был выпущен в октябре 2009 года. OpenCV 2 включает в себя серьезные изменения в интерфейсе C ++ , направленные на упрощение и безопасность типов, новые функции и лучшие реализации существующих с точки зрения производительности (особенно на мульти- основные системы). Официальные релизы теперь выпускаются каждые шесть месяцев, и теперь разработкой занимается независимая российская команда при поддержке коммерческих корпораций.

В августе 2012 года поддержку OpenCV взял на себя некоммерческий фонд OpenCV.org, который поддерживает сайт разработчика и пользователя.

В мае 2016 года Intel подписала соглашение о приобретении Itseez, ведущего разработчика OpenCV.

В июле 2020 года OpenCV объявила и начала кампанию на Kickstarter для OpenCV AI Kit , серии аппаратных модулей и дополнений к OpenCV, поддерживающих Spatial AI.

Приложения

openFrameworks запускает пример надстройки OpenCV

Области применения OpenCV включают:

Для поддержки некоторых из вышеперечисленных областей OpenCV включает библиотеку статистического машинного обучения, которая содержит:

Язык программирования

OpenCV написана на C ++ и его основной интерфейс в C ++, но он по- прежнему сохраняет менее всеобъемлющий , хотя обширный старший интерфейс C . Все новые разработки и алгоритмы появляются в интерфейсе C ++. Есть привязки в Python , Java и MATLAB / OCTAVE . API для этих интерфейсов можно найти в онлайн-документации. Оболочки на нескольких языках программирования были разработаны, чтобы способствовать их принятию более широкой аудиторией. В версии 3.4 привязки JavaScript для выбранного подмножества функций OpenCV были выпущены как OpenCV.js для использования на веб-платформах.

Аппаратное ускорение

Если библиотека обнаружит в системе примитивы Intel Integrated Performance Primitives , она будет использовать эти запатентованные оптимизированные процедуры для своего ускорения.

CUDA основанного GPU интерфейс ведется с сентября 2010 года.

OpenCL основанного GPU интерфейс ведется с октября 2012 года , документацию для версии 2.4.13.3 можно найти на docs.opencv.org.

Поддержка ОС

OpenCV работает на следующих настольных операционных системах: Windows , Linux , macOS , FreeBSD , NetBSD , OpenBSD . OpenCV работает на следующих мобильных операционных системах: Android , iOS , Maemo , BlackBerry 10 . Пользователь может получить официальные выпуски из SourceForge или взять последние исходные коды из GitHub . OpenCV использует CMake .

Смотрите также

использованная литература