Open CV 5.0.0

gepubliceerd Open CV 5.0.0 — een belangrijke release van een open source bibliotheek voor computervisie en beeldverwerking. De release vond plaats Juni 6 2026 jaar en is al gemarkeerd als actueel in de GitHub-repository van het project. OpenCV wordt gedistribueerd onder de licentie. Apache-2.0.

De kern van deze release is de overgang van OpenCV van een "klassieke computervisiebibliotheek" naar een moderner platform voor computervisie- en AI-taken: het project heeft de oude API opgeschoond, de module voor neurale netwerkinferentie herwerkt, de ONNX-ondersteuning uitgebreid, ondersteuning voor VLM/LLM-scripts toegevoegd en de 3D/kalibratiestack bijgewerkt. De ontwikkelaars beschrijven OpenCV 5.0 als een stabiele versie, waaraan voornamelijk nieuwe functionaliteit zal worden toegevoegd.

Grote veranderingen

  • Nieuwe DNN-inferentiemotor.
    De DNN-module beschikt nu over een nieuwe engine die naast de oude bestaat. Deze werkt beter met dynamische tensorvormen, subgrafieken en moderne ONNX-functies. De dekking zou naar verluidt groter zijn. 80% van de ONNX-specificatieTerwijl in OpenCV 4.x minder dan 23% werd gedekt.
    Dit is waarschijnlijk de grootste verandering in deze release: OpenCV ontwikkelt zich van een simpele modelwrapper tot een volwaardige, ingebouwde inferentiemotor voor moderne neurale netwerken.

  • Een engine selecteren bij het laden van een model.
    De parameter ENGINE_AUTO is toegevoegd aan cv::dnn::readNet() en gerelateerde functies. Standaard probeert OpenCV eerst de nieuwe engine en, indien dit niet lukt, schakelt het terug naar de klassieke engine. Dit gedrag kan ook worden geconfigureerd via de omgevingsvariabele OPENCV_FORCE_DNN_ENGINE: gebruik de oude engine, de nieuwe engine, de automatische modus of ONNX Runtime. Oudere projecten hoeven niet direct volledig over te schakelen naar de nieuwe engine, maar nieuwe modellen kunnen er geleidelijk naar worden gemigreerd.

  • Integratie met ONNX Runtime.
    OpenCV kan nu worden gecompileerd met de ONNX Runtime ingeschakeld. OpenCV gebruikt zijn eigen ONNX-parser om de ORT-grafiek te construeren, waardoor het volledige ONNX-pakket niet nodig is. De volgende CMake-parameters zijn beschikbaar voor het compileren: -DWITH_ONNXRUNTIME=ON en -DDOWNLOAD_ONNXRUNTIME=ON; voor NVIDIA GPU's: -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Deze functie is handig voor diegenen die nu GPU-inferentie nodig hebben, aangezien de nieuwe DNN-engine van OpenCV momenteel alleen op CPU's draait.

  • Ondersteuning voor visie-taalmodellen.
    De nieuwe DNN-engine bevat tokenizers, aandachtlagen, decoderingsblokken, nabewerking en een KV-cache, die nodig zijn om VLM-modellen direct te kunnen gebruiken. De bibliotheek, die van oudsher geassocieerd wordt met beeldverwerking, breidt zich nu uit naar modellen die tegelijkertijd afbeeldingen en tekst verwerken.

  • GPU-ondersteuning voor de nieuwe DNN-engine is nog niet gereed.
    De nieuwe engine in OpenCV 5.0 draait alleen op CPU's. Native GPU-ondersteuning is beloofd voor toekomstige releases; voorlopig wordt voor GPU's de klassieke engine of een build met ONNX Runtime en NVIDIA-uitvoeringsproviders aanbevolen. Voor CUDA-inferentie op servers of desktops vervangt OpenCV 5.0 op zichzelf nog geen gespecialiseerde runtimes.

  • De oude Darknet- en Caffe-parsers zijn verwijderd.
    De ontwikkelaars hebben de Darknet- en Caffe-parsers verwijderd, omdat de meeste modellen al naar ONNX zijn gemigreerd. TFLite blijft voorlopig in de klassieke engine, met een migratie naar de nieuwe engine die later gepland staat. OpenCV laat oudere formaten achter zich en richt zich op ONNX als het primaire uitwisselingsformaat voor modellen.

  • Grote opschoning van de 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 kern-API. Ook de ondersteuning voor OpenVX is verwijderd, de G-API-module is verplaatst naar opencv_contrib en de klassieke ML-module is daarheen verplaatst. Dit is een ingrijpende wijziging voor oudere projecten, maar het was al lang nodig: de bibliotheek werkt zich los van tientallen jaren aan technische schulden.

  • Features2D is hernoemd naar Features.
    De module is uitgebreid om moderne featurevectoren van neurale netwerken te ondersteunen. SIFT, ORB, FAST, GoodFeaturesToTrack en MSER zijn behouden in de hoofdrepository, terwijl oudere detectoren en descriptors zijn verplaatst naar opencv_contrib. ALIKED, DISK en de LightGlue-matcher zijn toegevoegd. OpenCV past zich duidelijk aan moderne pipelines aan, waarbij beeldkenmerken steeds vaker worden geëxtraheerd met behulp van neurale netwerken in plaats van klassieke algoritmen.

  • Nieuwe gegevenstypen in Core.
    CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S en CV_Bool zijn toegevoegd. De ondersteuning voor N-dimensionale arrays, 1D-arrays en 0D-scalaire waarden is ook verbeterd. LAPACK is nu altijd beschikbaar: als een externe bibliotheek ontbreekt, bouwt OpenCV een ingebouwde minimale subset. Deze wijzigingen zijn belangrijk voor DNN's, numerieke algoritmen en compatibiliteit met moderne dataformaten, waar bfloat16 en uitgebreide typen steeds vaker voorkomen.

  • De beeldverwerking is versneld.
    WarpAffine, warpPerspective en remap zijn herwerkt in imgproc. De prestatieverbeteringen zouden variëren van 10% tot meer dan 300%, afhankelijk van het platform, de afbeeldingsgrootte, het gegevenstype en de gebruikte bewerkingsvlaggen.
    Dit gaat niet alleen over AI; dergelijke optimalisaties zijn ook direct belangrijk voor klassieke taken: videostreams, stabilisatie, projectietransformaties en datavoorbereiding vóór inferentie.

  • Verbeterde tekstweergave.
    De oude tekstweergave-engine is vervangen door een op STB gebaseerde TrueType-engine met een ingebouwd Rubik-variabel lettertype. Aangepaste lettertypen kunnen worden ingesloten en er is uitgebreide Unicode-ondersteuning toegevoegd. Complexe schriften zoals Arabisch en Devanagari worden echter nog steeds onjuist weergegeven zonder Harfbuzz, en gekleurde emoji's worden niet ondersteund. OpenCV wordt steeds handiger voor het genereren van annotaties, debug-afbeeldingen en visualisaties zonder externe bibliotheken.

  • Bijgewerkte 3D- en camerakalibratie.
    Calib3d is opgesplitst in geometrie, kalibratie, stereo en puntenwolk. USAC is de standaard backend geworden voor robuuste homografie, essentiële/fundamentele matrix, PnP en andere taken. Er is een kalibratiepipeline voor meerdere camera's toegevoegd, samen met initiële ondersteuning voor mesh- en puntenwolkverwerking, inclusief TSDF, ICP en het importeren en exporteren van .ply- en .obj-bestanden. Dit is een belangrijke stap voor robotica, SLAM, AR/VR en systemen met meerdere camera's, waar 2D-verwerking alleen lange tijd ontoereikend was.

  • De voorbeelden en documentatie zijn herzien.
    Verouderde voorbeelden zijn verwijderd en de overgebleven voorbeelden zijn bijgewerkt. DNN-voorbeelden maken nu gebruik van een gedeelde modelverzameling, die kan worden gedownload met het script download_models.py. Experimentele voorbeelden voor VLM en LDM zijn toegevoegd en de documentatie heeft een modern thema, snelle zoekfunctie, lichte/donkere modus en verbeterde navigatie gekregen. Voor zo'n grote bibliotheek is dit geen cosmetische verandering: goede documentatie en werkende voorbeelden hebben een directe invloed op de vraag of ontwikkelaars daadwerkelijk overstappen naar OpenCV 5.x.

Uiteindelijk is OpenCV 5.0 niet zomaar een nieuwe release met optimalisaties, maar een aanzienlijke upgrade: minder overblijfselen uit het OpenCV 1.x-tijdperk en meer focus op ONNX, neurale netwerkinferentie, moderne functies, 3D-verwerking en heterogene acceleratie. De overgang voor oudere projecten vereist echter mogelijk enkele aanpassingen vanwege het verwijderen van de C API en de overdracht van sommige modules naar opencv_contrib.

Bron: linux.org.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster