Open Source Computer Vision (OpenCV) este o bibliotecă de programare open source dezvoltată pentru a susține aplicațiile care folosesc viziunea computerizată. Oferă sute de funcții pentru capturarea, analiza și manipularea datelor vizuale și poate elimina unele dintre problemele cu care se confruntă programatorii atunci când dezvoltă aplicații care se bazează pe viziunea computerizată. Porțiuni ale bibliotecii oferă, de asemenea, interfață cu utilizatorul și funcții de recunoaștere a modelelor. OpenCV a fost folosit atât în aplicații practice, cât și în cele creative, inclusiv în vehicule cu autopilotare și în noi forme de artă digitală.
Bibliotecile de programare oferă funcții comune sau capabilități complexe pe care dezvoltatorii le pot folosi în programele lor. Biblioteca OpenCV conține sute de funcții care acceptă capturarea, analiza și manipularea informațiilor vizuale transmise unui computer de camere web, fișiere video sau alte tipuri de dispozitive. Funcțiile simple pot fi folosite pentru a desena o linie sau altă formă pe un ecran, în timp ce porțiunile mai avansate ale bibliotecii conțin algoritmi pentru detectarea fețelor, urmărirea mișcării și analiza formelor. Mulți dintre algoritmii acestei biblioteci sunt legați de utilizări specifice ale vederii computerizate, inclusiv inspecția produsului, imagistica medicală, robotica, recunoașterea facială și a gesturilor și interacțiunea om-computer (HCI). Ca bibliotecă de programare open source, OpenCV poate fi folosit cu foarte puține restricții atât în proiecte comerciale, cât și în proiecte de hobby.
Cu OpenCV, un dezvoltator poate elimina o parte din munca complexă și plictisitoare care presupune ca viziunea computerizată să funcționeze în mod fiabil și să se concentreze pe construirea aplicației. În loc să creeze algoritmi pentru recunoașterea facială și altele asemenea, un programator poate adăuga doar câteva linii de cod pentru ca un program să acceseze funcția corespunzătoare de bibliotecă. De asemenea, înseamnă că un programator nu trebuie să stăpânească fiecare aspect al vederii computerizate pentru a construi un program care îl folosește.
Pe lângă funcționalitatea de bază de procesare a imaginilor și video, OpenCV conține module secundare menite să sprijine alte domenii ale unei aplicații. Unul dintre aceste module include algoritmi de învățare automată care pot analiza și prezice tipare vizuale. Modulul HighGUI oferă elemente de interfață cu utilizatorul, precum și funcții pentru stocarea și accesarea fișierelor video și imagini.
Biblioteca OpenCV poate fi găsită în centrul unor proiecte ambițioase variate. Împreună cu o gamă largă de senzori, hardware de computer și software personalizat, a alimentat un vehicul utilitar sport puternic modificat care a navigat pe un curs de curse de 132 mile (212 km) fără intervenție umană. Nu toate proiectele care se bazează pe resursele bibliotecii sunt însă atât de practice. Unii membri ai mișcării de codificare creativă, o confederație liberă de oameni care văd programarea ca pe o formă de exprimare, au folosit biblioteca pentru a crea noi forme de artă digitală. Alții au spart dispozitivele existente care conțin camere și au deschis noi posibilități pentru jocuri, calcule interactive și chiar teleprezență.