Frei veröffentlichte Bibliothek (Open Source Computer Vision Library), die Werkzeuge zur Verarbeitung und Analyse von Bildinhalten bereitstellt. OpenCV bietet über 2500 Algorithmen, sowohl klassische als auch solche, die die neuesten Fortschritte im Bereich der Computer Vision und der maschinellen Lernsysteme widerspiegeln. Der Code der Bibliothek ist in C++ geschrieben und unter der BSD-Lizenz. Bindungen wurden für verschiedene Programmiersprachen, einschließlich Python, MATLAB und Java vorbereitet.
Die Bibliothek kann zur Objekterkennung in Fotos und Videos verwendet werden (zum Beispiel zur Gesichtserkennung, Erkennung von Personen, Texten usw.), zur Bewegungserfassung von Objekten und Kameras, zur Klassifizierung von Aktionen in Videos, zur Bildtransformation, zur Extraktion von 3D-Modellen, zur Erstellung von 3D-Räumen aus Aufnahmen von Stereo-Kameras, zur Verbesserung von Bildern durch Zusammenführung von Aufnahmen niedrigerer Qualität, zur Identifizierung von objekten in einem Bild, die einem vorgegebenen Set ähneln, zur Anwendung von Methoden des maschinellen Lernens, zur Markerplatzierung, zur Identifikation gemeinsamer Elemente in verschiedenen Bildern sowie zur automatischen Behebung von Defekten wie dem roten Auge.
In :
- Im DNN-Modul (Deep Neural Network) mit Implementierungen von maschinellen Lernalgorithmen auf Basis von neuronalen Netzen wurde ein Backend für die Nutzung von CUDA hinzugefügt und experimentelle Unterstützung für die API ;
- Die Leistungsoptimierung des Codes für Stereoausgabe (StereoBM/StereoSGBM), Größenänderung, Maskenüberlagerung, Rotation, Berechnung fehlender Farbkomponenten und viele andere Operationen wurde unter Verwendung von SIMD-Instruktionen durchgeführt;
- Es wurde eine multithreaded Implementierung der Funktion ;
- Die Möglichkeit zur Extraktion von Videostreams aus Mediencontainern (Demuxing) mithilfe des videoio-Backend auf Basis von FFmpeg wurde hinzugefügt;
- Ein Algorithmus zur schnellen frequenzselektiven Rekonstruktion beschädigter Bilder wurde hinzugefügt (Frequency Selective Reconstruction);
- Es wurde die Methode zur Interpolation typischer, unoffenbarer Bereiche;
- Eine Methode zur Normalisierung von Abweichungen wurde hinzugefügt ;
- Im G-API-Modul (opencv_gapi), das als Engine für die effiziente Verarbeitung von Bildern mit graphenbasierten Algorithmen fungiert, wurde die Unterstützung für komplexere hybride Algorithmen der Computer Vision und des Deep Machine Learning implementiert. Unterstützung für das Intel Inference Engine Backend wurde gewährleistet. In das Ausführungsmodell wurde die Unterstützung für die Verarbeitung von Videostreams integriert;
- Behoben wurden (, ), die potenziell zur Ausführung von Angreifercode bei der Verarbeitung von unkontrollierten Daten in den Formaten XML, YAML und JSON führen können. Wenn beim Parsen von JSON ein Null-Zeichen gefunden wird, wird der gesamte Wert in den Puffer kopiert, jedoch ohne ordnungsgemäße Überprüfung auf Überlappungen im reservierten Speicherbereich.
Quelle: opennet.ru
