OpenCV 5.0.0

Veröffentlicht OpenCV 5.0.0 — eine bedeutende Veröffentlichung der Open-Source-Bibliothek für Computer Vision und Bildverarbeitung. Der Release fand statt 6. Juni 2026 und ist bereits als aktuell im Repository des Projekts auf GitHub vermerkt. OpenCV wird unter der Lizenz veröffentlicht Apache-2.0.

Der Zweck des Releases besteht darin, OpenCV von einer "klassischen Bibliothek für Computer Vision" zu einer moderneren Plattform für CV/AI-Anwendungen zu entwickeln: Das Projekt hat die alte API bereinigt, das Modul für neuronale Netzwerkinferenz überarbeitet, die Unterstützung für ONNX erweitert, Grundlagen für VLM/LLM-Szenarien geschaffen und den 3D/Kalibrierungs-Stack aktualisiert. Die Entwickler beschreiben OpenCV 5.0 als einen Branch, der nun ebenfalls als stabil gilt, während die neue Funktionalität zunächst hauptsächlich dorthin eingeführt wird.

Wesentliche Änderungen

  • Neue DNN-Inferenz-Engine.
    Im DNN-Modul gibt es eine neue Engine, die neben der alten existiert. Sie arbeitet besser mit dynamischen Tensorformen, Untergraphen und modernen ONNX-Funktionalitäten. Mehr als 80% der ONNX-Spezifikation wird abgedeckt, während in OpenCV 4.x weniger als 23% abgedeckt wurden.
    Dies ist wahrscheinlich die bedeutendste Veränderung der Veröffentlichung: OpenCV versucht, nicht nur eine Wrapper-Schicht um Modelle zu sein, sondern eine vollwertige integrierte Engine für die Inferenz moderner neuronaler Netzwerke.

  • Die Auswahl der Engine beim Laden des Modells.
    In cv::dnn::readNet() und verwandten Funktionen gibt es jetzt den Parameter ENGINE_AUTO. Standardmäßig versucht OpenCV zuerst die neue Engine und fällt bei einem Fehlschlag auf die klassische zurück. Dieses Verhalten kann auch über die Umgebungsvariable OPENCV_FORCE_DNN_ENGINE festgelegt werden: alte Engine, neue, automatischer Modus oder ONNX Runtime. Alte Projekte müssen nicht sofort vollständig auf die neue Engine umsteigen, aber neue Modelle können schrittweise darauf umgestellt werden.

  • Integration mit ONNX Runtime.
    OpenCV kann jetzt mit aktivierter ONNX Runtime kompiliert werden. Dabei verwendet OpenCV einen eigenen ONNX-Parser zur Erstellung des ORT-Diagramms, weshalb das vollständige ONNX-Paket nicht erforderlich ist. Zum Kompilieren sind die CMake-Parameter -DWITH_ONNXRUNTIME=ON und -DDOWNLOAD_ONNXRUNTIME=ON vorgesehen; für NVIDIA GPUs -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Diese Funktion ist nützlich für diejenigen, die bereits jetzt ein GPU-Inferenz benötigen, da die neue DNN-Engine von OpenCV bislang nur auf CPU funktioniert.

  • Unterstützung für Vision-Language-Modelle.
    Der neue DNN-Engine umfasst Tokenizer, Attention-Schichten, Decoding-Blöcke, Nachbearbeitung und KV-Cache, die für den sofortigen Betrieb von VLM-Modellen erforderlich sind. Die Bibliothek wurde historisch mit der Bildverarbeitung in Verbindung gebracht, dringt jetzt jedoch in den Bereich von Modellen vor, die gleichzeitig mit Bildern und Text arbeiten.

  • Die Unterstützung von GPUs für die neue DNN-Engine ist derzeit noch nicht verfügbar.
    Die neue Engine in OpenCV 5.0 unterstützt zunächst nur die CPU. Nativ GPU-Unterstützung wird in kommenden Versionen versprochen; vorübergehend wird empfohlen, die klassische Engine oder eine Version mit ONNX Runtime und NVIDIA-Ausführungsträgern zu nutzen. OpenCV 5.0 kann allein den spezialisierten Runtimes für server- oder desktopbasiertes CUDA-Inferring noch nicht ersetzen.

  • Die alten Parser für Darknet und Caffe wurden entfernt.
    Die Entwickler haben die Parser für Darknet und Caffe entfernt, da die meisten Modelle bereits in ONNX konvertiert wurden. TFLite bleibt vorerst über die klassische Engine erhalten, während eine Migration zur neuen Engine für später geplant ist. OpenCV verabschiedet sich von alten Formaten und konzentriert sich auf ONNX als primäres Austauschformat für Modelle.

  • Eine umfassende Bereinigung der veralteten API.
    Die C API von OpenCV 1.x wurde entfernt: Funktionen wie cvCreateMat() und alte Strukturen wie CvMat sind nicht mehr Teil der Haupt-API. Auch die Unterstützung für OpenVX wurde entfernt, das G-API-Modul wurde in opencv_contrib verschoben, ebenso wie das klassische ML-Modul. Eine dringende Änderung für alte Projekte, die jedoch schon lange überfällig war: Die Bibliothek beseitigt den technischen Schuldenstand, der sich über Jahrzehnte angesammelt hat.

  • Features2D wurde in Features umbenannt.
    Das Modul wurde für moderne Merkmalsvektoren aus neuronalen Netzen erweitert. Im Hauptrepository bleiben SIFT, ORB, FAST, GoodFeaturesToTrack und MSER, während veraltete Detektoren und Deskriptoren in opencv_contrib verschoben wurden. Neu hinzugefügt wurden ALIKED, DISK und der Matcher LightGlue. OpenCV passt sich klar an moderne Pipelines an, in denen Merkmale von Bildern zunehmend nicht durch klassische Algorithmen, sondern durch neuronale Netze extrahiert werden.

  • Neue Datentypen im Core.
    CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S und CV_Bool wurden hinzugefügt. Außerdem wurde die Unterstützung für N-dimensionale Arrays, 1D-Arrays und 0D-Skalare verbessert. LAPACK ist nun immer verfügbar: Wenn die externe Bibliothek fehlt, erstellt OpenCV ein eingebautes minimales Subset. Diese Änderungen sind wichtig für DNN, numerische Algorithmen und die Kompatibilität mit modernen Datenformaten, in denen bfloat16 und erweiterte Typen immer häufiger vorkommen.

  • Die Bildverarbeitung wurde beschleunigt.
    In imgproc wurden warpAffine, warpPerspective und remap überarbeitet. Leistungsverbesserungen liegen im Bereich von 10 % bis über 300 %, abhängig von der Plattform, der Bildgröße, dem Datentyp und den Operationsflaggen.
    Es geht hier nicht mehr nur um AI-Module – solche Optimierungen sind direkt wichtig für klassische Aufgaben: Video-Streams, Stabilisierung, projektive Transformationen und Datenvorbereitung vor dem Inferenzprozess.

  • Die Texterstellung wurde verbessert.
    Der alte Text-Render-Mechanismus wurde durch die STB-basierte TrueType-Engine mit der integrierten variablen Schriftart Rubik ersetzt. Benutzerdefinierte Schriftarten können nun angeschlossen werden, und es gibt umfassende Unterstützung für Unicode. Komplexe Schriftsysteme wie Arabisch und Devanagari werden jedoch derzeit ohne Harfbuzz nicht korrekt dargestellt, und farbige Emojis werden nicht unterstützt. OpenCV wird benutzerfreundlicher für die Generierung von Annotations- und Debugging-Bildern sowie Visualisierungen ohne externe Bibliotheken.

  • 3D und Kamerakalibrierung wurden aktualisiert.
    calib3d wurde in geometry, calib, stereo und ptcloud unterteilt. USAC ist nun das standardmäßige Backend für die robuste Schätzung von Homographien, der essenziellen/fundamentalen Matrix, PnP und anderen Aufgaben. Ein Pipeline für die Kalibrierung mehrerer Kameras wurde hinzugefügt, einschließlich erster Unterstützung für die Verarbeitung von Netzen und Punktwolken, einschließlich TSDF, ICP, Import und Export von .ply und .obj. Dies ist ein wichtiger Schritt für Robotik, SLAM, AR/VR und Mehrkamerasysteme, wo die 2D-Verarbeitung längst nicht mehr ausreicht.

  • Beispiele und Dokumentation wurden überarbeitet.
    Veraltete Beispiele wurden entfernt, die verbleibenden aktualisiert. Für DNN-Beispiele wird eine gemeinsame Sammlung von Modellen verwendet, die mit dem Skript download_models.py heruntergeladen werden kann. Experimentelle Beispiele für VLM und LDM wurden hinzugefügt, und die Dokumentation hat ein modernes Layout, eine Schnellsuche, einen hellen/dunklen Modus sowie eine verbesserte Navigation erhalten. Für eine so große Bibliothek ist dies keine kosmetische Änderung: Eine klare Dokumentation und funktionierende Beispiele haben direkten Einfluss darauf, ob Entwickler tatsächlich auf OpenCV 5.x umsteigen können.

Zusammenfassend lässt sich sagen, dass OpenCV 5.0 nicht einfach eine weitere Version mit Optimierungen ist, sondern ein bedeutendes Update für alles darstellt: weniger Erbe aus der Ära von OpenCV 1.x und mehr Ausrichtung auf ONNX, neuronale Inferenz, moderne Merkmale, 3D-Verarbeitung und heterogene Beschleunigung. Der Übergang für ältere Projekte kann jedoch Anpassungen erfordern, da die C-API entfernt und Teile der Module in opencv_contrib verschoben wurden.

Quelle: linux.org.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster