OpenCV (englische Abk. für Open Source Computer Vision Library[3]) ist eine freieProgrammbibliothek mit Algorithmen für die Bildverarbeitung und Computer Vision. Sie ist für die Programmiersprachen C, C++, Python und Java geschrieben und steht als freie Software unter den Bedingungen der Apache 2 License. Die Entwicklung der Bibliothek wurde von Intel initiiert und bis 2013 von der Firma Willow Garage gepflegt. Nach deren Auflösung wurde sie vom Unternehmen Itseez fortgeführt, das im Jahr 2016 von Intel übernommen wurde.[4]
Im September 2006 wurde die Version 1.0 von OpenCV herausgegeben. Ende September 2009 folgte nach längerer Pause die Version 2.0.0, welche die Bezeichnung „Gold“ trug. Anfang Juni 2015 erschien Version 3.0, die erstmals OpenCL unterstützte.[5]
Die Stärke von OpenCV liegt in ihrer Geschwindigkeit und in der großen Menge der Algorithmen aus neuesten Forschungsergebnissen.
👁 Image Automatische Objekterkennung mit OpenCV. Hierzu wurde ein auf dem COCO-Dataset trainiertes YOLOv3 Modell geladen, das 80 verschiedene Objekte identifizieren kann.
Das DNN-Modul von OpenCV kann die von gängigen Deep Learning Frameworks vortrainierten Netze einlesen und auf ihnen einen Forward Pass ausführen. D.h., es werden Werte in der sichtbaren Eingangsschicht (englisch input layer) des künstlichen neuronalen Netzwerks eingelesen und beim Durchlaufen aller Schichten des Netzwerks verarbeitet, bis sie dann an der sichtbaren letzten Schicht (output layer) ausgegeben werden.[6]Objekterkennung mit z.B. YOLO wurde auf diese Weise realisiert. Das seit OpenCV 3.1 existierende DNN-Modul wurde mit Release 3.3 in das Haupt-Repository verschoben und ist somit leichter, also ohne Kompilierung des Quellcodes, benutzbar.