OpenCV - OpenCV

OpenCV
Логотип OpenCV с текстом svg version.svg
Оригинальный автор (ы)Корпорация Intel, Willow Garage, Itseez
изначальный выпускИюнь 2000 г.; 20 лет спустя (2000-06)
Стабильный выпуск
4.5.0 / 12 октября 2020; 55 дней назад (2020-10-12)
Репозиторий Отредактируйте это в Викиданных
Написано вC /C ++
Операционная системаКроссплатформенность
Размер~ 200 МБ
ТипБиблиотека
ЛицензияЛицензия Apache
Интернет сайтopencv.org

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

История

Официально запущенный в 1999 году проект OpenCV изначально был Intel Research инициатива по продвижению ЦПУ -интенсивные приложения, часть серии проектов, в том числе в реальном времени трассировка лучей и 3D дисплей стены.[4] Основными участниками проекта были ряд экспертов по оптимизации из Intel в России, а также команда Intel Performance Library. В первые дни OpenCV цели проекта были описаны[5] в качестве:

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

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

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

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

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

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

Приложения

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

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

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

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

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

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

Если библиотека найдет Intel Интегрированные примитивы производительности в системе он будет использовать эти запатентованные оптимизированные процедуры для своего ускорения.

А CUDA -основан GPU интерфейс находится в разработке с сентября 2010 года.[14]

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

Поддержка ОС

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

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

Рекомендации

  1. ^ Пулли, Кари; Бакшеев Анатолий; Корняков, Кирилл; Ерухимов Виктор (1 апреля 2012 г.). «Компьютерное зрение в реальном времени с OpenCV». Очередь. 10 (4): 40:40–40:56. Дои:10.1145/2181796.2206309.
  2. ^ Intel приобретает Itseez: https://opencv.org/intel-acquires-itseez.html
  3. ^ "CUDA". opencv.org. Получено 2020-10-15.
  4. ^ Адриан Келер; Гэри Брадски (14 декабря 2016 г.). Изучение OpenCV 3: компьютерное зрение на C ++ с помощью библиотеки OpenCV. O'Reilly Media. стр. 26ff. ISBN  978-1-4919-3800-3.
  5. ^ Брадски, Гэри; Kaehler, Адриан (2008). Изучение OpenCV: компьютерное зрение с библиотекой OpenCV. O'Reilly Media, Inc. стр. 6.
  6. ^ Журналы изменений OpenCV: http://code.opencv.org/projects/opencv/wiki/ChangeLog В архиве 2013-01-15 в Wayback Machine
  7. ^ Сайт разработчика OpenCV: http://code.opencv.org В архиве 2013-01-13 в Archive.today
  8. ^ Сайт пользователя OpenCV: http://opencv.org/
  9. ^ «Intel приобретает компьютерное зрение для Интернета вещей в автомобильной промышленности | Intel Newsroom». Отдел новостей Intel. Получено 2018-11-26.
  10. ^ «Intel приобретает российскую компанию по компьютерному зрению Itseez». Восток-Запад Цифровые новости. 2016-05-31. Получено 2018-11-26.
  11. ^ OpenCV: http://opencv.org/opencv-3-3.html
  12. ^ Интерфейс OpenCV C: http://docs.opencv.org
  13. ^ Введение в OpenCV.js и руководства
  14. ^ Порт Cuda GPU: http://opencv.org/platforms/cuda.html В архиве 2016-05-21 в Wayback Machine
  15. ^ Объявление OpenCL: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
  16. ^ Справочник по API компьютерного зрения с ускорением OpenCL: http://docs.opencv.org/modules/ocl/doc/ocl.html
  17. ^ Порт Maemo: https://garage.maemo.org/projects/opencv
  18. ^ BlackBerry 10 (частичный порт): https://github.com/blackberry/OpenCV
  19. ^ «GitHub - opencv / Opencv: библиотека компьютерного зрения с открытым исходным кодом». 21 мая 2020.