OpenCV

Was ist OpenCV?

OpenCV (Open Source Computer Vision) ist eine Bibliothek von Programmierfunktionen, die hauptsächlich auf Echtzeit-Computer Vision abzielen. Usprünglich von Intel entwickelt, wurde es später von Willow Garage unterstützt, dann von Itseez (welches später von Intel erworben wurde). Die Bibliothek ist plattformübergreifend und unter der Open Source BSD-Lizenz frei verfügbar.

OpenCV unterstützt die Deep-Learning-Frameworks TensorFlow, Torch//PyTorch und Caffe.

Entwicklung

Das Projekt wurde 1999 offiziell ins Leben gerufen und war ursprünglich eine Initiative von Intel Research, um CPU-intensive Anwendungen voranzutreiben, die Teil einer Reihe von Projekten sind, darunter Echtzeit-Raytracing und 3D-Anzeigewände. Zu den Hauptbeteiligten des Projekts zählten eine Reihe von Optimierungsexperten in Intel Russia sowie das Performance Library Team von Intel.

Die erste Alpha-Version von OpenCV wurde auf der IEEE-Konferenz zu Computer Vision und Pattern Recognition im Jahr 2000 veröffentlicht. Fünf Betas wurden in den Jahren 2001 und 2005 publiziert. Die erste 1.0-Version wurde 2006 veröffentlicht. Eine Version 1.1 “Pre-Release” im Oktober 2008.

Die zweite Hauptversion von OpenCV war im Oktober 2009. Version 2 enthält wichtige Änderungen an der C++-Benutzeroberfläche, die auf einfachere, typischere Muster, neue Funktionen und bessere Implementierungen bestehender Versionen in Bezug auf die Leistung abzielt (Kernsysteme). Offizielle Veröffentlichungen scheinen jetzt alle sechs Monate und die Entwicklung wird nun von einem unabhängigen russischen Team durchgeführt, das von kommerziellen Unternehmen unterstützt wird.

Im August 2012 wurde die Unterstützung für OpenCV von einer gemeinnützigen Stiftung übernommen, die einen Entwickler und eine Benutzerseite unterhält. Im Mai 2016 unterzeichnete Intel eine Vereinbarung zur Übernahme von Itseez, einem führenden Entwickler.

Programmiersprache

OpenCV ist in C++ geschrieben und seine Hauptschnittstelle ist ebenfalls in C++. Jedoch hat es immer noch eine weniger umfassende, aber umfangreiche ältere C-Schnittstelle. Bindungen gibt es in Python, Java und MATLAB/OCTAVE. Die API für diese Schnittstellen finden sich in der Online-Dokumentation. Umschläge in anderen Sprachen wie C#, Perl, CH, Haskell und Ruby wurden entwickelt, um die Akzeptanz durch ein breiteres Publikum zu fördern.

Alle neuen Entwicklungen und Algorithmen in OpenCV werden jetzt nur in der C++-Schnittstelle entwickelt.

Hardware-Beschleunigung

Wenn die Bibliothek Intels Integrated Performance Primitives auf dem System findet, verwendet sie diese proprietären optimierten Routinen, um sich zu beschleunigen. Eine CUDA-basierte GPU-Schnittstelle ist seit September 2010 in Arbeit. Eine OpenCL-basierte GPU-Schnittstelle ist seit Oktober 2012 in Arbeit; die Dokumentation für Version 2.4.13.3 ist unter docs.opencv.org zu finden.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte