OpenCV
![]() | |
Оригинальный автор(ы) | Intel , Willow Garage , Itseez |
---|---|
Начальная версия | июнь 2000 г |
Стабильная версия | 4.10.0 [1] ![]() |
Репозиторий | |
Написано в | C , C++ , Python , Java , язык ассемблера |
Операционная система | Кроссплатформенность : Windows , Linux , macOS , FreeBSD , NetBSD , OpenBSD ; Android , iOS , Maemo , BlackBerry 10 |
Платформа | ИА-32 , x86-64 |
Размер | ~200 МБ |
Доступно в | Английский |
Тип | Библиотека |
Лицензия | Апач |
Веб-сайт | opencv |
OpenCV ( Open Source Computer Vision Library ) — библиотека функций программирования, в основном для в реальном времени компьютерного зрения . [2] Первоначально разработанный Intel , позже он был поддержан Willow Garage , затем Itseez (который позже был приобретен Intel [3] ). Библиотека является кроссплатформенной и лицензируется как бесплатное программное обеспечение с открытым исходным кодом по лицензии Apache License 2. Начиная с 2011 года, OpenCV поддерживает ускорение графического процессора для операций в реальном времени. [4]
История [ править ]
Официально запущенный в 1999 году проект OpenCV первоначально представлял собой исследовательскую инициативу Intel, направленную на развитие приложений, интенсивно использующих процессор , и являлся частью серии проектов, включая в реальном времени трассировку лучей и отображения . 3D- стены [5] Основной вклад в проект внесли ряд экспертов по оптимизации Intel в России, а также команда Intel Performance Library. В первые дни существования OpenCV были описаны цели проекта [6] как:
- Продвигайте исследования в области машинного зрения, предоставляя не только открытый, но и оптимизированный код для базовой инфраструктуры машинного зрения. Больше не нужно изобретать велосипед .
- Распространяйте знания о видении, предоставляя общую инфраструктуру, которую разработчики могут использовать, чтобы код был более легко читаемым и переносимым.
- Развивайте коммерческие приложения на основе машинного зрения, предоставляя бесплатный переносимый , оптимизированный по производительности код — с лицензией, которая не требует, чтобы код был открытым или свободным.
Первая альфа-версия OpenCV была представлена публике на конференции IEEE по компьютерному зрению и распознаванию образов в 2000 году, а в период с 2001 по 2005 год было выпущено пять бета-версий. Первая версия 1.0 была выпущена в 2006 году. Предварительная версия 1.1 " "был выпущен в октябре 2008 года.
Второй крупный выпуск OpenCV вышел в октябре 2009 года. OpenCV 2 включает в себя серьезные изменения в интерфейсе C++ , направленные на создание более простых и типобезопасных шаблонов, новых функций и улучшенных реализаций существующих с точки зрения производительности (особенно на многопользовательских средах). основные системы). Официальные релизы теперь происходят каждые шесть месяцев. [7] и теперь разработкой занимается независимая российская команда при поддержке коммерческих корпораций.
В августе 2012 года поддержку OpenCV взял на себя некоммерческий фонд OpenCV.org, который поддерживает разработчика. [8] и сайт пользователя. [9]
В мае 2016 года Intel подписала соглашение о приобретении Itseez. [10] ведущий разработчик OpenCV. [11]
В июле 2020 года OpenCV анонсировала и начала кампанию на Kickstarter для OpenCV AI Kit — серии аппаратных модулей и дополнений к OpenCV, поддерживающих пространственный AI.
В августе 2020 года OpenCV запустила OpenCV.ai — профессиональное консалтинговое подразделение. Команда разработчиков предоставляет консультационные услуги и поставляет в области компьютерного зрения , машинного обучения и искусственного интеллекта . решения [12]
Приложения [ править ]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/OfxOpenCV.png/220px-OfxOpenCV.png)
Области применения OpenCV включают:
- Наборы инструментов для 2D и 3D функций
- эгомоции Оценка
- Система распознавания лиц
- Распознавание жестов
- Взаимодействие человека и компьютера (HCI)
- Мобильная робототехника
- Понимание движения
- Обнаружение объектов
- Сегментация и признание
- Стереозрение стереопсиса: восприятие глубины с двух камер
- Структура из движения (SFM)
- движения Отслеживание видео
- Дополненная реальность
Для поддержки некоторых из вышеперечисленных областей OpenCV включает статистическую библиотеку машинного обучения , которая содержит:
- Повышение
- Обучение дереву решений
- Градиентное повышение деревьев
- Алгоритм максимизации ожидания
- алгоритм k-ближайшего соседа
- Наивный классификатор Байеса
- Искусственные нейронные сети
- Случайный лес
- Машина опорных векторов (SVM)
- Глубокие нейронные сети (DNN) [13]
Язык программирования [ править ]
OpenCV написан на языке программирования C++ , как и его основной интерфейс, но он по-прежнему сохраняет менее полный, но обширный старый C. интерфейс Все новые разработки и алгоритмы появляются в интерфейсе C++. Существуют привязки к языкам Python , Java и MATLAB / Octave . Интерфейс прикладного программирования ( API ) для этих интерфейсов можно найти в онлайн-документации. [14] Библиотеки-оболочки на нескольких языках были разработаны для поощрения принятия более широкой аудиторией. В версии 3.4 привязки JavaScript для выбранного подмножества функций OpenCV были выпущены как OpenCV.js для использования на веб-платформах. [15]
Аппаратное ускорение [ править ]
Если библиотека обнаружит интегрированные примитивы производительности в системе Intel, она будет использовать эти запатентованные оптимизированные процедуры для собственного ускорения.
Compute Unified Device Architecture ( CUDA (GPU) на базе Интерфейс графического процессора ) разрабатывается с сентября 2010 года. [16]
Интерфейс OpenCL на основе графического процессора разрабатывается с октября 2012 года. [17] документацию для версии 2.4.13.3 можно найти на docs.opencv.org. [18]
Поддержка операционной системы [ править ]
OpenCV работает в настольных операционных системах : Windows , Linux , macOS , FreeBSD , NetBSD и OpenBSD , а также в мобильных операционных системах: Android , iOS , Maemo , [19] БлэкБерри 10 и QNX . [20] Пользователь может получить официальные релизы с SourceForge или взять последние исходники с GitHub . [21] OpenCV использует CMake .
См. также [ править ]
- AForge.NET — библиотека компьютерного зрения для общеязыковой среды выполнения .NET Framework и Mono.
- Операционная система робота (ROS) – использует OpenCV в качестве основного пакета видения.
- VXL – альтернативная библиотека, написанная на C++.
- CVIPtools - полная графического пользовательского интерфейса программная среда для компьютерного зрения и обработки изображений на основе модели компонентных объектов (DLL) на основе (GUI), с библиотеками функций C, библиотекой динамической компоновки (COM ) и двумя служебными программами для разработки алгоритмов и пакетной обработки. обработка
- OpenNN — библиотека искусственных нейронных сетей , написанная на C++, с открытым исходным кодом.
- Список бесплатных пакетов программного обеспечения с открытым исходным кодом
Ссылки [ править ]
- ^ «OpenCV 4.10.0 теперь доступен!» . 4 июня 2024 г. Проверено 8 июня 2024 г.
- ^ Пулли, Кари; Бакшеев Анатолий; Корняков Кирилл; Ерухимов, Виктор (1 апреля 2012 г.). «Компьютерное зрение в реальном времени с OpenCV» . Очередь . 10 (4): 40:40–40:56. дои : 10.1145/2181796.2206309 .
- ^ Intel приобретает Itseez: https://opencv.org/intel-acquires-itseez.html. Архивировано 14 февраля 2019 г. на Wayback Machine.
- ^ «КУДА» . opencv.org . Проверено 15 октября 2020 г.
- ^ Адриан Келер; Гэри Брэдски (14 декабря 2016 г.). Изучение OpenCV 3: компьютерное зрение на C++ с помощью библиотеки OpenCV . О'Рейли Медиа. стр. 26 и далее. ISBN 978-1-4919-3800-3 .
- ^ Брадски, Гэри; Келер, Адриан (2008). Изучение OpenCV: Компьютерное зрение с библиотекой OpenCV . О'Рейли Медиа, Инк. с. 6.
- ^ Журналы изменений OpenCV: http://code.opencv.org/projects/opencv/wiki/ChangeLog. Архивировано 15 января 2013 г. на Wayback Machine.
- ^ Сайт разработчика OpenCV: http://code.opencv.org. Архивировано 13 января 2013 г. на archive.today.
- ^ Сайт пользователя OpenCV: http://opencv.org/
- ^ «Intel приобретает компьютерное зрение для Интернета вещей и автомобилестроения | Отдел новостей Intel» . Отдел новостей Intel . Проверено 26 ноября 2018 г.
- ^ «Intel приобретает российскую компанию по компьютерному зрению Itseez» . Цифровые новости Востока-Запада . 31 мая 2016 г. Проверено 26 ноября 2018 г.
- ^ Консалтинговый сайт OpenCV: http://opencv.ai/
- ^ OpenCV: http://opencv.org/opencv-3-3.html. Архивировано 14 февраля 2019 г. на Wayback Machine.
- ^ Интерфейс OpenCV C: http://docs.opencv.org
- ^ Введение в OpenCV.js и учебные пособия.
- ^ «Порт Cuda GPU» . Архивировано из оригинала 21 мая 2016 г.
- ^ Объявление OpenCL: http://opencv.org/opencv-v2-4-3rc-is-under-way.html. Архивировано 17 февраля 2019 г. на Wayback Machine.
- ^ Справочник API компьютерного зрения с ускорением OpenCL: http://docs.opencv.org/modules/ocl/doc/ocl.html
- ^ «Порт библиотеки компьютерного зрения Intel с открытым исходным кодом (OpenCV) на Maemo» . Маэмо Гараж . 10 августа 2011 года . Проверено 30 января 2023 г.
- ^ hungc (4 сентября 2019 г.). «Порт OpenCV для Blackberry [частичный]» . Гитхаб .
- ^ «opencv/Opencv: Библиотека компьютерного зрения с открытым исходным кодом» . Гитхаб . 21 мая 2020 г.