
Publicat OpenCV 5.0.0 — o mare versiune a bibliotecii deschise pentru viziune computerizată și procesarea imaginilor. Lansarea a avut loc 6 iunie 2026 și este deja marcată ca relevantă în repository-ul proiectului de pe GitHub. OpenCV este distribuit sub licența Apache-2.0.
Scopul lansării este tranziția OpenCV de la „biblioteca clasică de viziune computerizată” la o platformă mai modernă pentru sarcini CV/AI: proiectul a curățat API-ul vechi, a reproiectat modulul de inferență a rețelelor neuronale, a extins suportul pentru ONNX, a adăugat suport pentru scenarii VLM/LLM și a actualizat stiva de 3D/calibrare. Dezvoltatorii descriu OpenCV 5.0 ca o ramură, care este acum considerată stabilă, iar noua funcționalitate va fi adăugată preponderent acolo.
Principalele modificări
Un nou motor de inferență DNN.
În modulul dnn a apărut un nou motor, care coexistă cu cel vechi. Acesta funcționează mai bine cu formele dinamice de tensori, subgrafuri și posibilitățile moderne ale ONNX. Se declară o acoperire de peste 80% din specificația ONNX, în timp ce în OpenCV 4.x era acoperită mai puțin de 23%.
Aceasta este, probabil, cea mai importantă schimbare a lansării: OpenCV încearcă să devină nu doar un wrapper pentru modele, ci un motor de inferență integrat complet pentru rețele neuronale moderne.Alegerea motorului la încărcarea modelului.
În cv::dnn::readNet() și funcțiile similare a apărut parametrul ENGINE_AUTO. Implicit, OpenCV încearcă mai întâi noul motor, iar în caz de eșec revine la cel clasic. Comportamentul poate fi, de asemenea, setat prin variabila de mediu OPENCV_FORCE_DNN_ENGINE: utilizarea motorului vechi, nou, mod automat sau ONNX Runtime. Proiectele vechi nu sunt obligate să treacă complet pe noul motor imediat, dar noile modele pot fi treptat adaptate la acesta.Integrarea cu ONNX Runtime.
OpenCV poate fi acum compilat cu ONNX Runtime conectat. În acest caz, OpenCV folosește propriul său parser ONNX pentru construirea graficului ORT, astfel încât nu necesită întregul pachet ONNX. Pentru compilare, sunt prevăzute parametrii CMake -DWITH_ONNXRUNTIME=ON și -DDOWNLOAD_ONNXRUNTIME=ON; pentru GPU NVIDIA — -DDOWNLOAD_ONNXRUNTIME_GPU=ON. Această funcție va fi utilă pentru cei care au nevoie de inferență GPU imediat, deoarece noul motor DNN OpenCV funcționează deocamdată doar pe CPU.Suport pentru modele de viziune-limbaj.
Noul motor DNN include tokenizatori, straturi de atenție, blocuri de decodificare, postprocesare și cache KV necesare pentru a rula modelele VLM „din cutie”. Biblioteca a fost istoric asociată cu procesarea imaginilor, iar acum se extinde în domeniul modelor care lucrează simultan cu imaginea și textul.Suportul GPU pentru noul motor DNN nu este încă disponibil.
Noul motor în OpenCV 5.0 funcționează doar pe CPU. Suportul nativ pentru GPU se promite a fi adăugat în versiunile viitoare; în prezent, pentru GPU se recomandă utilizarea motorului clasic sau a unei construcții cu ONNX Runtime și furnizorii de execuție NVIDIA. OpenCV 5.0 nu înlocuiește de sine stătător runtime-urile specializate pentru inferența CUDA pe server sau desktop.Parserii vechi Darknet și Caffe au fost eliminați.
Dezvoltatorii au eliminat parserii Darknet și Caffe, deoarece majoritatea modelor au fost deja migrate în ONNX. TFLite rămâne pentru moment prin motorul clasic, iar migrarea către noul motor este planificată ulterior. OpenCV abandonază formatele vechi și se concentrează pe ONNX ca pe principalul format de schimb al modelelor.O mare curățare a API-ului învechit.
API-ul C OpenCV 1.x a fost eliminat: funcții precum cvCreateMat() și structuri vechi de tip CvMat nu mai fac parte din API-ul principal. Suportul pentru OpenVX a fost de asemenea eliminat, modul G-API a fost mutat în opencv_contrib, iar clasicul modul ML a fost de asemenea trimis acolo. O modificare semnificativă pentru proiectele vechi, dar era necesară: biblioteca își elimină datoria tehnică acumulată de decenii.Features2D a fost redenumit în Features.
Modulul a fost extins pentru vectorii moderni de caracteristici din rețele neuronale. În repository-ul principal au rămas SIFT, ORB, FAST, GoodFeaturesToTrack și MSER, în timp ce detectorii și descriptorii învechiți au fost mutați în opencv_contrib. Au fost adăugate ALIKED, DISK și asigurătorul LightGlue. OpenCV se adaptează clar la pipeline-urile moderne, unde caracteristicile imaginii sunt tot mai frecvent extrase nu prin algoritmi clasici, ci prin rețele neuronale.Tipuri noi de date în Core.
Au fost adăugate CV_16BF / cv::bfloat, CV_32U, CV_64U, CV_64S și CV_Bool. Suportul pentru matricele N-dimensionale, matricele 1D și scalarii 0D a fost îmbunătățit. LAPACK este acum întotdeauna disponibil: dacă biblioteca externă nu este disponibilă, OpenCV compilează un subset minim încorporat. Modificările sunt importante pentru DNN, algoritmi numerici și compatibilitatea cu formatele de date moderne, unde bfloat16 și tipurile extinse sunt întâlnite tot mai frecvent.Procesarea imaginilor a fost accelerată.
În imgproc au fost reworkate warpAffine, warpPerspective și remap. Îmbunătățirile de performanță sunt anunțate în intervalul de la 10% la peste 300%, în funcție de platformă, dimensiunea imaginii, tipul de date și flagurile de operație.
Acesta nu mai este despre modul AI — aceste optimizări sunt direct importante pentru sarcinile clasice: fluxuri video, stabilizare, transformări de proiecție și pregătirea datelor înainte de inferență.A fost îmbunătățită redarea textului.
Vechea mecanism de redare a textului a fost înlocuit de motorul bazat pe STB pentru TrueType, cu fontul variabil Rubik încorporat. Pot fi atașate fonturi personalizate, iar suportul Unicode a fost extins. Cu toate acestea, scrierile complexe, cum ar fi araba și devanagari, sunt încă afișate incorect fără Harfbuzz, iar emoji-urile colorate nu sunt suportate. OpenCV devine mai ușor de utilizat pentru generarea de adnotări, imagini de depanare și vizualizări fără biblioteci externe.Au fost actualizate 3D și calibrarea camerelor.
calib3d a fost împărțit în geometry, calib, stereo și ptcloud. USAC a devenit backend standard pentru estimarea robustă a omografiei, matricea esențială/fundamentală, PnP și alte sarcini. A fost adăugat un pipeline pentru calibrarea multi-camerelor, suport inițial pentru procesarea rețelelor și a norilor de puncte, inclusiv TSDF, ICP, import și export .ply și .obj. Acesta este un pas important pentru robotică, SLAM, AR/VR și sisteme multi-cameră, unde o procesare 2D nu mai este suficientă.Au fost revizuite exemplele și documentația.
Exemplele învechite au fost eliminate, iar cele rămase au fost actualizate. Pentru exemplele DNN se folosește o colecție comună de modele, care poate fi descărcată prin scriptul download_models.py. Au fost adăugate exemple experimentale pentru VLM și LDM, iar documentația a primit un design modern, căutare rapidă, mod deschis/întunecat și navigare îmbunătățită. Pentru o bibliotecă atât de mare, aceasta nu este o simplă schimbare cosmetică: o documentație normală și exemple funcționale influențează direct dacă dezvoltatorii pot trece efectiv la OpenCV 5.x.
În final, OpenCV 5.0 nu este doar o altă lansare cu optimizări, ci o actualizare semnificativă a tot: mai puțin moștenire din epoca OpenCV 1.x și mai multe orientări către ONNX, inferență de rețea neurală, caracteristici moderne, procesare 3D și accelerare heterogenă. Cu toate acestea, trecerea pentru proiectele vechi poate necesita modificări din cauza eliminării API-ului C și mutării unei părți din module în opencv_contrib.
Sursa: linux.org.ru
