OpenCV 5.0.0

Gepubliceerd OpenCV 5.0.0 — een grote release van de open source bibliotheek voor computer vision en beeldverwerking. De release vond plaats op 6 juni 2026 en is al gemarkeerd als actueel in de repository van het project op GitHub. OpenCV wordt verspreid onder de licentie Apache-2.0.

De kern van de release is de overgang van OpenCV van een 'klassieke computer vision bibliotheek' naar een moderner platform voor CV/AI-taken: het project heeft de oude API opgeschoond, de module voor neurale netwerk inference herzien, de ondersteuning voor ONNX uitgebreid, faciliteiten voor VLM/LLM-scenario's toegevoegd en de 3D/calibratiestack bijgewerkt. Ontwikkelaars beschrijven OpenCV 5.0 als een tak die nu ook als stabiel wordt beschouwd, en de nieuwe functionaliteit zal voornamelijk daar beschikbaar komen.

Belangrijkste wijzigingen

  • Een nieuwe DNN-inference engine.
    In de dnn-module is er een nieuwe engine toegevoegd die naast de oude coƫxisteert. Deze werkt beter met dynamische tensorvormen, subgrafen en moderne mogelijkheden van ONNX. Er is een dekking van meer dan 80% van de ONNX-specificatie,terwijl in OpenCV 4.x minder dan 23% werd gedekt.
    Dit is waarschijnlijk de belangrijkste verandering in de release: OpenCV probeert niet alleen een wrapper rond modellen te zijn, maar een volwaardige ingebouwde inference engine voor moderne neurale netwerken.

  • Kiezen van de engine bij het laden van een model.
    In cv::dnn::readNet() en verwante functies is er een parameter ENGINE_AUTO toegevoegd. Standaard probeert OpenCV eerst de nieuwe engine, en bij een mislukking valt het terug op de klassieke. Dit gedrag kan ook worden ingesteld via de omgevingsvariabele OPENCV_FORCE_DNN_ENGINE: gebruik oude engine, nieuwe, automatische modus of ONNX Runtime. Oude projecten hoeven niet meteen volledig over te schakelen naar de nieuwe engine, maar nieuwe modellen kunnen geleidelijk aan naar de nieuwe engine worden overgezet.

  • Integratie met ONNX Runtime.
    OpenCV kan nu worden gebouwd met geĆÆntegreerde ONNX Runtime. Hierbij gebruikt OpenCV zijn eigen ONNX-parser om het ORT-grafiek op te bouwen, waardoor het geen volledig ONNX-pakket nodig heeft. Voor de bouw zijn er CMake-opties beschikbaar: -DWITH_ONNXRUNTIME=ON en -DDOWNLOAD_ONNXRUNTIME=ON; voor NVIDIA GPU — -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Deze functie is nuttig voor degenen die nu al GPU-inference nodig hebben, omdat de nieuwe DNN-engine van OpenCV voorlopig alleen op CPU werkt.

  • Ondersteuning voor vision-language models.
    De nieuwe DNN-engine bevat tokenizers, aandachtlagen, decodeerblokken, nabewerking en KV-cache die nodig zijn voor het direct gebruiken van VLM-modellen. De bibliotheek was historisch geassocieerd met beeldverwerking, maar stapt nu ook in het domein van modellen die tegelijkertijd met afbeeldingen en tekst werken.

  • De ondersteuning van GPU in de nieuwe DNN-engine is nog niet klaar.
    De nieuwe engine in OpenCV 5.0 werkt alleen op de CPU. Natuurlijke ondersteuning voor GPU wordt beloofd in volgende versies; voor GPU wordt momenteel aanbevolen om de klassieke engine of een build met ONNX Runtime en NVIDIA-execution providers te gebruiken. Voor CUDA-inferentie op servers of desktops vervangt OpenCV 5.0 op zichzelf nog niet de gespecialiseerde runtimes.

  • Oude parsers van Darknet en Caffe zijn verwijderd.
    De ontwikkelaars hebben de parsers van Darknet en Caffe verwijderd, omdat de meeste modellen al naar ONNX zijn omgezet. TFLite blijft voorlopig beschikbaar via de klassieke engine, en de migratie naar de nieuwe engine is later gepland. OpenCV stopt met oude formaten en richt zich op ONNX als het belangrijkste uitwisselingsformaat voor modellen.

  • Grote schoonmaak van verouderde API.
    De OpenCV 1.x C API is verwijderd: functies zoals cvCreateMat() en oude structuren zoals CvMat maken geen deel meer uit van de hoofd-API. Ook is de ondersteuning voor OpenVX verwijderd, en de G-API-module is verplaatst naar opencv_contrib, waar ook de klassieke ML-module naartoe is gegaan. Dit is een brekende wijziging voor oude projecten, maar het was al een tijdje noodzakelijk: de bibliotheek maakt komaf met de technische schulden die in de loop der jaren zijn opgebouwd.

  • Features2D is hernoemd naar Features.
    De module is uitgebreid om moderne featurevectoren uit neurale netwerken te ondersteunen. In de hoofdrepository zijn SIFT, ORB, FAST, GoodFeaturesToTrack en MSER behouden, terwijl verouderde detectie- en descriptoralgoritmen naar opencv_contrib zijn verplaatst. Er zijn ALIKED, DISK en de LightGlue-matcher toegevoegd. OpenCV past zich duidelijk aan moderne pipelines aan, waar beeldkenmerken steeds vaker worden geƫxtraheerd door neurale netwerken in plaats van klassieke algoritmen.

  • Nieuwe datatypes in Core.
    CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S en CV_Bool zijn toegevoegd. Ook is de ondersteuning voor N-dimensionale arrays, 1D-arrays en 0D-scalar verbeterd. LAPACK is nu altijd beschikbaar: als de externe bibliotheek niet aanwezig is, bouwt OpenCV een ingebouwd minimaal subset. De wijzigingen zijn belangrijk voor DNN, numerieke algoritmen en compatibiliteit met moderne datatypes, waar bfloat16 en uitgebreide types steeds vaker voorkomen.

  • De verwerking van afbeeldingen is versneld.
    In imgproc zijn warpAffine, warpPerspective en remap herzien. Prestatieverbeteringen zijn opgegeven tussen 10% en meer dan 300%, afhankelijk van het platform, de afbeeldingsgrootte, het type gegevens en de operationele vlaggen.
    Dit gaat niet langer alleen over de AI-module — dergelijke optimalisaties zijn rechtstreeks belangrijk voor klassieke taken: videostreams, stabilisatie, projectie-transformaties en gegevensvoorbereiding voor inferentie.

  • De tekstweergave is verbeterd.
    Het oude tekenmechanisme is vervangen door een STB-gebaseerde TrueType-engine met het ingebouwde variabele lettertype Rubik. Aangepaste lettertypen kunnen worden aangesloten en er is brede ondersteuning voor Unicode toegevoegd. Complexe schriften zoals Arabisch en Devanagari worden echter momenteel onjuist weergegeven zonder Harfbuzz, en gekleurde emoji worden niet ondersteund. OpenCV wordt gebruiksvriendelijker voor het genereren van annotaties, debugafbeeldingen en visualisaties zonder externe bibliotheken.

  • 3D en camerakalibratie zijn vernieuwd.
    calib3d is opgesplitst in geometry, calib, stereo en ptcloud. USAC is de standaard backend geworden voor robuuste schatting van homografie, essential/fundamental matrix, PnP en andere taken. Een pipeline voor multicamera-calibratie is toegevoegd, met initiƫle ondersteuning voor het verwerken van meshes en puntwolken, inclusief TSDF, ICP, importeren en exporteren van .ply en .obj. Dit is een belangrijke stap voor robotica, SLAM, AR/VR en multicamerasystemen, waar alleen 2D-verwerking al lang niet meer voldoende is.

  • Voorbeelden en documentatie zijn herzien.
    Verouderde voorbeelden zijn verwijderd en de overgebleven zijn bijgewerkt. Voor DNN-voorbeelden wordt een gezamenlijke modelcollectie gebruikt, die kan worden gedownload met het script download_models.py. Experimentele voorbeelden zijn toegevoegd voor VLM en LDM, en de documentatie heeft een modern thema gekregen, snelle zoekfunctionaliteit, een lichte/donkere modus en verbeterde navigatie. Voor zo'n grote bibliotheek is dit geen cosmetische wijziging: goede documentatie en werkende voorbeelden beĆÆnvloeden rechtstreeks of ontwikkelaars daadwerkelijk kunnen overstappen naar OpenCV 5.x.

Uiteindelijk is OpenCV 5.0 niet zomaar een nieuwe versie met optimalisaties, maar een aanzienlijke upgrade van alles: minder erfgoed uit het tijdperk van OpenCV 1.x en meer focus op ONNX, neurale netwerk inferentie, moderne kenmerken, 3D-verwerking en heterogene versnelling. Het kan echter nodig zijn om aanpassingen te maken voor oude projecten vanwege de verwijdering van de C API en de verschuiving van enkele modules naar opencv_contrib.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster