OpenCV
OpenCV wurde 1999 von Gary Bradsky bei Intel gestartet und die erste Version erschien im Jahr 2000. Vadim Pisarevsky trat Gary Bradsky bei, um Intels russisches Software OpenCV-Team zu leiten. Im Jahr 2005 wurde OpenCV auf Stanley verwendet, dem Fahrzeug, das 2005 die DARPA Grand Challenge gewann. Später wurde die aktive Entwicklung unter der Unterstützung von Willow Garage fortgesetzt, wobei Gary Bradsky und Vadim Pisarevsky das Projekt leiteten. OpenCV unterstützt jetzt eine Vielzahl von Algorithmen im Zusammenhang mit Computer Vision und maschinellem Lernen und wird von Tag zu Tag erweitert.
OpenCV unterstützt eine Vielzahl von Programmiersprachen wie C ++, Python, Java usw., und ist auf verschiedenen Plattformen einschließlich Windows, Linux, OS X, Android und iOS verfügbar. Schnittstellen für Hochgeschwindigkeits-GPU-Operationen auf Basis von CUDA und OpenCL befinden sich ebenfalls in der aktiven Entwicklung.
OpenCV-Python ist die Python-API für OpenCV und kombiniert die besten Eigenschaften der OpenCV C ++ – API und der Python-Sprache.
OpenCV-Python
OpenCV-Python ist eine Bibliothek von Python-Bindungen zur Lösung von Computer-Vision-Problemen.
Python ist eine universelle Programmiersprache, die von Guido van Rossum gestartet wurde und sehr schnell sehr populär wurde, hauptsächlich wegen ihrer Einfachheit und Lesbarkeit des Codes. Es ermöglicht dem Programmierer, Ideen in weniger Codezeilen auszudrücken, ohne die Lesbarkeit zu beeinträchtigen.
Im Vergleich zu Sprachen wie C/C++ ist Python langsamer. Das heißt, Python kann leicht mit C / C ++ erweitert werden, was es uns ermöglicht, rechenintensiven Code in C / C ++ zu schreiben und Python-Wrapper zu erstellen, die als Python-Module verwendet werden können. Dies bietet uns zwei Vorteile: Erstens ist der Code so schnell wie der ursprüngliche C / C ++ – Code (da es sich um den tatsächlichen C ++ – Code handelt, der im Hintergrund arbeitet) und zweitens ist es einfacher, in Python zu codieren als in C / C ++. OpenCV-Python ist ein Python-Wrapper für die ursprüngliche OpenCV C ++ – Implementierung.
OpenCV-Python verwendet Numpy, eine hochoptimierte Bibliothek für numerische Operationen mit einer Syntax im MATLAB-Stil. Alle OpenCV-Array-Strukturen werden in und aus Numpy-Arrays konvertiert. Dies erleichtert auch die Integration in andere Bibliotheken, die Numpy verwenden, wie SciPy und Matplotlib.
OpenCV-Python Tutorials
OpenCV stellt eine neue Reihe von Tutorials vor, die Sie durch verschiedene Funktionen führen, die in OpenCV-Python verfügbar sind. Dieser Leitfaden konzentriert sich hauptsächlich auf OpenCV 3.x-Version (obwohl die meisten Tutorials auch mit OpenCV 2 funktionieren.x).
Vorkenntnisse in Python und Numpy werden empfohlen, da sie in diesem Handbuch nicht behandelt werden. Kenntnisse mit Numpy sind ein Muss, um optimierten Code mit OpenCV-Python zu schreiben.
Dieses Tutorial wurde ursprünglich von Abid Rahman K. im Rahmen des Google Summer of Code 2013-Programms unter der Leitung von Alexander Mordvintsev gestartet.
OpenCV braucht dich !!!
Da OpenCV eine Open-Source-Initiative ist, sind alle willkommen, Beiträge zur Bibliothek, Dokumentation und Tutorials zu leisten. Wenn Sie in diesem Tutorial einen Fehler finden (von einem kleinen Rechtschreibfehler bis zu einem ungeheuren Fehler im Code oder Konzept), können Sie ihn korrigieren, indem Sie OpenCV in GitHub klonen und eine Pull-Anfrage senden. OpenCV-Entwickler überprüfen Ihre Pull-Anforderung, geben Ihnen wichtiges Feedback und werden (sobald sie die Genehmigung des Überprüfers erhalten haben) in OpenCV zusammengeführt. Sie werden dann ein Open-Source-Mitwirkender 🙂
Wenn neue Module zu OpenCV-Python hinzugefügt werden, muss dieses Tutorial erweitert werden. Wenn Sie mit einem bestimmten Algorithmus vertraut sind und ein Tutorial mit grundlegender Theorie des Algorithmus und Code mit Beispielverwendung verfassen können, tun Sie dies bitte.
Denken Sie daran, wir können dieses Projekt gemeinsam zu einem großen Erfolg machen !!!
Mitwirkende
Unten ist die Liste der Mitwirkenden, die Tutorials zu OpenCV-Python eingereicht haben.
- Alexander Mordwinzew (GSoC-2013 Mentor)
- Abid Rahman K. (GSoC-2013 Praktikant)