OpenCV
Оригинални аутор(и) | Интел, Willow Garage, Itseez |
---|---|
Прво издање | јун 2000. |
Стабилно издање | 4.1.1
/ 26. јул 2019. |
Репозиторијум | |
Написан у | C/C++ |
Оперативни систем | Међуплатформски |
Величина | ~200 MB |
Тип | библиотека |
Веб-сајт | opencv |
OpenCV (engl. Open Source Computer Vision) је библиотека програмских функција, углавном у реалном времену, првобитно развијена у Интеловом истраживачком центром у Нижњем Новгороду (Русија), раније подржавана од стране Willow Garrage, а сада подржавана од стране Itseez.[1] Библиотека је међуплатформска, омогућено коришћење библиотеке различитим софтверима, бесплатна за коришћење под open-source BSD линцецом.
Историја
[уреди | уреди извор]Званично покренут у 1999. години, у OpenCV пројекат је првобитно била иницијатива Интел истраживања за унапређивање CPU-intensive апликацијама, апликацијама које користе велики део процесора, део серије пројеката, укључујући и праћења зрака у реалном времену и 3Д приказ зида. Главни доприносиоци пројекта су такође били и експерти за оптимизацију из Intel Russia, као и тим стручњака из Intel's Perfomance Library Team. У почетку OpenCV-a, циљеви пројекта су били[2] :
- Advance vision претрага пружајући не само да отворен, него и оптимизован код за главни вид инфраструктуре. Фокус није бачен на поновни развој кода.
- Проширени вид знања тиме што се користи уобичајена инфраструктура на којој је развојни тим могао да надграђује тако да је код могао бити лакши за читање и трансфер.
- Напредније комерцијалне апликације, правећи преносив, перфомансно оптимизован код, који је био бесплатан, са лиценцом која није била отворена.
Прва Алфа верзија OpenCV је пуштена у јавност на IEEE Conference on Computer Vision and Pattern Recognition у 2000. години, и пет бета верзије су објављене између 2001. и 2005. Прва Верзија 1.0 је објављена 2006. године. Средином 2008. године, OpenCV је добила корпоративну подршку од Willow Garage-a, а сада поново у фази активног развоја. Верзија 1.1 је унапред објављена у октобру 2008. године.
Други велико објављивање OpenCV-а било је у октобру 2009. године. OpenCV 2 обухвата велике промене у интерфејсу језика C++, усмерен на лакше, облике који су лакши за писање, нове функције, и бољу имплементацију већ постојећих због потреби бољих перфоманси (посебно за потребе система који користе више језгара). Званично излази на сваких шест месеци,[3] а развој је сада у рукама независних руских тимова који имају подршку комерцијалних корпорација.
У августу 2012. године, подршка за OpenCV је преузела непрофитна фондација OpenCV.org, која одржава развојни[4] и кориснички сајт.[5]
Апликације
[уреди | уреди извор]OpenCV апликација укључују:
- 2Д и 3Д алатке
- Систем за препознавање лица
- Препознавање покрета
- Интеракција човека и рачунара (HCI)
- Мобилна роботика
- Разумевање покрета
- Идентификација објекта
- Сегментација и препознавање
- Перцепција дубине од 2 камере
- Структура покрета (УЛП)
- Праћење кретања
- Проширена реалност - За подршку неких од наведених области, OpenCV укључује библиотеку за статистичку машинско учење, која садржи:
- Boosting
- Разгранато резонско учење
- Алгоритам очекивање-максимизација
- Алгоритам за К-најближих суседа
- Наивни Бајесов класификатор
- Вештачка неуронска мрежа
- Random forest
- Поступак вектора подршке (SVM)
Програмски језик
[уреди | уреди извор]OpenCV је написан у језику C++ и његов главни интерфејс је у C++ , али и даље садржи мање разумњив, старији, проширенији C интерфејс. Постоје везивања у Python-у, Java-и и у МATLAB-у. API за ове интерфејсе се могу наћи на интернету.[6] Омотачи на другим језицима, као што су C#, Perl, Ch, and Ruby#, Perl-а,[7] х,[8] и Руби су дизајнирани да промовишу доношење широј публици.
Све нове технологије и алгоритми у OpenCV-у развијају се у интерфејс C++.
Хардверско Убрзање
[уреди | уреди извор]Ако библиотека пронађе Intel's Integrated Performance Primitives у систему, она ће користити своје оптимизоване поступке, да убрза себе.
Графички интерфејс заснован на CUDA технологији је у развоју од септембра 2010. године.[9]
Графички интерфејс заснован на OpenCL-у је у развоју од Октобра 2012. године. Документација за верзију 2.4.9.0 се може наћи на docs.opencv.org.[10]
Подршка за оперативне системе
[уреди | уреди извор]OpenCV ради на различитим платформама. Десктоп: Windows, Linux, OS X, FreeBSD, NetBSD, OpenBSD; Mobile: Android, iOS, Maemo, BlackBerry 10. Корисници могу да добију званична издања са SourceForge-a или узети најновије кодове са GitHub-а.[11] OpenCV користи CMake.
Референце
[уреди | уреди извор]- ^ Itseez leads the development of the renowned computer vision library OpenCV. http://itseez.com
- ^ Bradski, Gary; Kaehler, Adrian (2008). Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc. стр. 6.
- ^ OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog Архивирано на сајту Wayback Machine (15. јануар 2013)
- ^ OpenCV Developer Site: http://code.opencv.org Архивирано 2013-01-13 на сајту Archive.today
- ^ OpenCV User Site: http://opencv.org/
- ^ OpenCV C interface: http://docs.opencv.org
- ^ CPAN: http://search.cpan.org/~yuta/Cv-0.29/ Архивирано на сајту Wayback Machine (24. мај 2018)
- ^ Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/
- ^ Cuda GPU port: http://opencv.org/platforms/cuda.html Архивирано на сајту Wayback Machine (21. мај 2016)
- ^ OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html
- ^ GitHub - Itseez/opencv: Open Source Computer Vision Library
Литература
[уреди | уреди извор]- Bradski, Gary; Kaehler, Adrian (2008). Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc. стр. 6.
Спољашње везе
[уреди | уреди извор]- OpenCV on SourceForge.net
- Documentation of OpenCV
- Introduction to programming with OpenCV
- A list of other open source computer vision codes and libraries
- Chroma Key Background Subtraction - OpenCV