OpenCV
-
Медіафайли у Вікісховищі
|latest_alpha_version= |latest_alpha_date=
OpenCV (англ. Open Source Computer Vision Library, бібліотека комп'ютерного зору з відкритим кодом) — бібліотека функцій та алгоритмів комп'ютерного зору, обробки зображень і чисельних алгоритмів загального призначення з відкритим кодом. Бібліотека надає засоби для обробки і аналізу вмісту зображень, у тому числі розпізнавання об'єктів на фотографіях (наприклад, осіб і фігур людей, тексту тощо), відстежування руху об'єктів, перетворення зображень, застосування методів машинного навчання і виявлення загальних елементів на різних зображеннях.
Бібліотека розроблена Intel і нині підтримується Willow Garage[en] та Itseez. Сирцевий код бібліотеки написаний мовою C++ і поширюється під ліцензією BSD. Біндинги підготовлені для різних мов програмування, таких як Python, Java, Ruby, Matlab, Lua та інших. Може вільно використовуватися в академічних та комерційних цілях.
Історія
Офіційно проект OpenCV був запущений у 1999 році за ініціативою Intel Research з ціллю розвивати CPU-ресурсомісткі додатки. Основними вкладниками у проект була Intel's Performance Library Team та певна кількість експертів з чисельної оптимізації у Inter Russia. На перших етапах розвитку OpenCV основними задачами бібліотеки були:
- Розвивати дослідження у напрямку комп'ютерного зору, забезпечуючи добре оптимізований та відкритий код бібліотеки.
- Поширювати знання у сфері комп'ютерного зору, забезпечуючи загальну інфраструктуру, яку б могли розвивати розробники, таким чином код ставатиме більш легким для сприйняття та обміну.
- Розвивати засновані на роботі з комп'ютерним зором комерційні додатки, створюючи не залежну від платформи, оптимізовану та безкоштовну бібліотеку. Для цього використовувалася ліцензія, яка не вимагала від таких комерційних додатків бути відкритими.
Перша альфа-версія OpenCV була оприлюднена на IEEE конференції з комп'ютерного зору й розпізнавання образів у 2000 році, і п'ять бета-версій було випущено у період між 2001 і 2005 роками. Перша версія 1.0 була випущена у 2006 році. У середині 2008 року, OpenCV отримала корпоративну підтримку від Willow Garage[en] і знову перейшла у стадію активної розробки. «Пре-релізна» версія 1.1 була випущена у жовтні 2008 року.
Другий великий випуск OpenCV відбувся у жовтні 2009 року. OpenCV 2 включала у себе серйозні зміни у інтерфейсі C++. Ці зміни спрямовані на більш прості, тип-безпечні моделі, додавання нових функцій, і кращу реалізацію існуючих моделей в плані швидкодії (особливо на багатоядерних системам). Офіційні релізи надалі відбуваються кожні 6 місяців[2]і розробкою займається незалежна команда з Росії, яка підтримується комерційними корпораціями.
У серпні 2012 року, підтримку OpenCV було передано некомерційній організації, OpenCV.org.
Застосування
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/OfxOpenCV.png/220px-OfxOpenCV.png)
Бібліотека містить понад 2500 оптимізованих алгоритмів, серед яких повний набір як класичних так і практичних алгоритмів машинного навчання і комп'ютерного зору. Алгоритми OpenCV застосовують у таких сферах:
- Аналіз та обробка зображень
- Системи з розпізнавання обличчя
- Ідентифікації об'єктів
- Розпізнавання жестів[en] на відео
- Відстежування переміщення камери
- Побудова 3D моделей об'єктів
- Створення 3D хмар точок зі стерео камер
- Склеювання зображень між собою, для створення зображень всієї сцени з високою роздільною здатністю
- Система взаємодії людини з комп'ютером
- Пошуку схожих зображень із бази даних
- Усування ефекту червоних очей при фотозйомці зі спалахом
- Стеження за рухом очей
- Аналіз руху
- Ідентифікація об'єктів
- Сегментація зображення
- Трекінґ відео
- Розпізнавання елементів сцени і додавання маркерів для створення доповненої реальності
та інші.
Мова програмування
OpenCV написана на C++ і її основний інтерфейс також реалізовано на C++, але бібліотека і досі представляє старіший C інтерфейс. Наразі реалізовано інтерфейс мовами Python, Java і MATLAB / OCTAVE (починаючи з версії 2.5). API для цих інтерфейсів можна знайти в онлайн документації[3] Оболонки для інших мов, таких як C#, CH,[4] Ruby були розроблені з метою охоплення ширшої аудиторії.
Всі нові розробки та алгоритми OpenCV наразі розробляються у C++ інтерфейсі.
Підтримувані платформи та інструменти
Самі бібліотеки:
- Microsoft Windows: компілятори Microsoft Visual C + + (6.0,. NET 2003), Intel Compiler, Borland C + +, Mingw (GCC 3.x).
- Linux: GCC (2.9x, 3.x), Intel Compiler: «./configure-make-make install», RPM
- Mac OS X: GCC (3.x, 4.x)
- Android
- iOS — неофіційно
Засоби GUI, захоплення відео:
Документація: статичний HTML, PDF.
Див. також
Примітки
- ↑ OpenCV 3.2. Архів оригіналу за 6 червня 2017. Процитовано 7 червня 2017.
- ↑ OpenCV логи змін: http://code.opencv.org/projects/opencv/wiki/ChangeLog [Архівовано 15 січня 2013 у Wayback Machine.]
- ↑ OpenCV C інтерфейс: http://docs.opencv.org [Архівовано 15 серпня 2020 у Wayback Machine.]
- ↑ OpenCV: http://www.softintegration.com/products/thirdparty/opencv/ [Архівовано 18 лютого 2020 у Wayback Machine.]
Посилання
- Історія проекта OpenCV.
- OpenCV 2.4.3
- Проект OpenCV [Архівовано 27 листопада 2012 у Wayback Machine.] на SourceForge.net.
- Сайт розробки OpenCV.
- Документація OpenCV [Архівовано 15 серпня 2020 у Wayback Machine.]
- Emgu CV — прив'язка для C# [Архівовано 17 червня 2008 у Wayback Machine.]
- SharperCV — прив'язка для C# [Архівовано 9 грудня 2012 у Wayback Machine.]
- Прив'язка для Python. Буде включена у наступну версію OpenCV [Архівовано 16 січня 2009 у Wayback Machine.]
- Блог з Обробки, аналізу зображень і комп'ютерного зору, OpenCV +Python [Архівовано 3 травня 2021 у Wayback Machine.]
- п
- о
- р
- 3D Slicer[en]
- AFNI[en]
- CellCognition[en]
- CellProfiler[en]
- Dlib
- Endrov[en]
- Fiji[en]
- FMRIB Software Library[en]
- FreeSurfer[en]
- GemIdent[en]
- GNU Octave
- ilastik[en]
- ImageJ[en]
- IMOD[en]
- ITK[en]
- InVesalius[en]
- ITK-SNAP[en]
- KNIME[en]
- Mango[en]
- OpenCV
- OsiriX[en]
- VIGRA[en]
- VXL[en]
- Amira[en]
- Analyze[en]
- Aphelion[en]
- Avizo[en]
- Bitplane[en]
- IDL[en]
- Mathematica
- MATLAB
- Mimics[en]
- MountainsMap[en]
- Tomviz[en]
- Visage SDK[en]