Open Source Computer Vision Library este numele complet pentru OpenCV, o bibliotecă de funcții de programare și un set de instrumente open source pentru utilizarea pe mai multe platforme în procesarea imaginilor în timp real și urmărirea OpenCV. Dezvoltat la începutul secolului al XXI-lea, a fost inițial conceput pentru pereți de afișare tridimensionale (21-D) și pentru trasarea razelor. Folosind codificarea creativă, OpenCV poate oferi un cadru dezvoltatorilor de cod bazat pe viziune optimizat pentru performanță într-o interfață C sau C++ inițial, deși disponibil în mai multe limbi și este adaptabil pentru utilizarea de la distanță pe dispozitive portabile. Este capabil să capteze fișiere video în timp real, configurații video de bază, detectarea obiectelor și urmărirea mișcării și a culorilor, printre alte funcții. OpenCV este capabil de calibrări ale camerelor, deoarece poate găsi și urmări calibrările camerei și poate seta corespondența stereo pe camerele video.
Funcția CalcGlobalOrientation pentru urmărirea OpenCV calculează orientarea în mișcare a unei regiuni specificate împreună cu o a doua comandă CalcMotionGradient și creează un istoric al mișcării și un marcaj de timp pentru a urmări direcția mișcării, returnând rezultatele în grade și înregistrând schimbările ulterioare. Rezultatul final ar fi o sumă a orientării inițiale și a unghiurilor de deplasare. Citirea și scrierea fișierelor de imagine și forțarea acestora la o imagine color cu trei canale, fișierele pot fi modificate, accesate direct și indirect și convertite în imagini în tonuri de gri sau imagini color byte.
Fluxul optic al imaginilor poate fi direcționat prin intermediul urmăririi potrivirii blocurilor și fiecare pixel calculat și instruit în flux. Este posibilă alocarea și eliberarea imaginilor pentru imagini cu un octet de canal sau imagini flotante cu trei canale pentru a seta o regiune de interes sau pentru a clona o imagine. OpenCV permite captarea imaginilor cadru dintr-o secvență video dintr-un fișier de la mai multe camere simultan prin preluarea câte o imagine din fiecare și apoi preluarea din toate, pentru a crea și edita noi fluxuri video.
Urmărirea facială OpenCV se face prin intermediul funcțiilor sale Camshift. Această funcție implementează un algoritm de urmărire a obiectelor, găsește centrul obiectului, creează o histogramă de culoare, calculează probabilitatea facială, apoi schimbă locația dreptunghiului feței în fiecare cadru video și face ajustări calculând dimensiunea și unghiul. Concentrează cei mai strălucitori pixeli peste fața centrată și folosește scara pentru a se adapta la fețele mai mici în cadrele ulterioare dacă imaginea se retrage.
Abilitățile de urmărire OpenCV sunt utilizate în multe aplicații. De la recunoașterea facială la recunoașterea gesturilor, robotică mobilă, programe de interacțiune om-calculator și stereopsis, care creează percepția profundă a viziunii stereo prin utilizarea a două camere, utilizând urmărirea obiectelor, culorii și mișcării. OpenCV are, de asemenea, biblioteci de învățare automată statistică care conțin module de învățare a arborelui de decizie, algoritmi de urmărire a așteptărilor-maximizare, arbori de creștere a gradientului și module de funcționare a rețelelor neuronale artificiale.