OpenCV

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

OpenCV (engl. Open Source Computer Vision) је библиотека програмских функција , углавном у реалном времену, првобитно развијена у Интеловом истраживачком центром у Нижњем Новгороду (Русија), раније подржавана од стране Willow Garrage, а сада подржавана од стране Itseez.[1]  Библиотека је cross-platform, омогућено коришћење библиотеке различитим софтверима, бесплатна за коришћење под 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 додатка у openFrameworks-у.

OpenCV апликација укључују:

Програмски језик[уреди]

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.

Такође погледати[уреди]

  • AForge.NET, у визију библиотека за средине ЦЛР (.NET Framework и Mono).
  • ROS (Robot Operating System).OpenCV се користи као примарни вид пакета ROS.
  • VXL, алтернативни библиотека, написана у C++.
  • Integrating Vision Toolkit(IVT), брза и једноставна за коришћење библиотека C++ са опционалним интерфејсом OpenCV-a.
  • CVIPtools, све GUI-апликације засноване на компјутерског вида и процесирању слика софтверског окружења, са библиотекама из Ц-a.
  • OpenNN, библиотека отвореног кода неуралних мрежа писаних у C++ - у.

Референце[уреди]

  1. ^ Itseez leads the development of the renowned computer vision library OpenCV. http://itseez.com
  2. ^ Bradski, Gary; Kaehler, Adrian (2008). Learning OpenCV: Computer vision with the OpenCV library. O'Reilly Media, Inc. стр. 6. 
  3. ^ OpenCV change logs: http://code.opencv.org/projects/opencv/wiki/ChangeLog Архивирано на сајту Wayback Machine (јануар 15, 2013) (на језику: енглески)
  4. ^ OpenCV Developer Site: http://code.opencv.org Archived 2013-01-13 at Archive.today
  5. ^ OpenCV User Site: http://opencv.org/
  6. ^ OpenCV C interface: http://docs.opencv.org
  7. ^ CPAN: http://search.cpan.org/~yuta/Cv-0.29/
  8. ^ Ch OpenCV: http://www.softintegration.com/products/thirdparty/opencv/
  9. ^ Cuda GPU port: http://opencv.org/platforms/cuda.html Архивирано на сајту Wayback Machine (мај 21, 2016) (на језику: енглески)
  10. ^ OpenCL-accelerated Computer Vision API Reference: http://docs.opencv.org/modules/ocl/doc/ocl.html
  11. ^ 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. 

Спољашње везе[уреди]