Open Source Computer Vision (OpenCV) je odprtokodna knjižnica računalniškega programiranja, razvita za podporo aplikacijam, ki uporabljajo računalniški vid. Zagotavlja na stotine funkcij za zajemanje, analizo in manipulacijo vizualnih podatkov in lahko odpravi nekatere težave, s katerimi se srečujejo programerji pri razvoju aplikacij, ki se zanašajo na računalniški vid. Deli knjižnice nudijo tudi uporabniški vmesnik in funkcije prepoznavanja vzorcev. OpenCV se je uporabljal tako v praktičnih kot ustvarjalnih aplikacijah, vključno z vozili s samopilotiranjem in novimi oblikami digitalne umetnosti.
Knjižnice programiranja zagotavljajo običajne funkcije ali kompleksne zmogljivosti, ki jih lahko razvijalci uporabljajo v svojih programih. Knjižnica OpenCV vsebuje na stotine funkcij, ki podpirajo zajemanje, analizo in manipulacijo vizualnih informacij, ki jih v računalnik posredujejo spletne kamere, video datoteke ali druge vrste naprav. Preproste funkcije se lahko uporabljajo za risanje črte ali druge oblike na zaslonu, medtem ko naprednejši deli knjižnice vsebujejo algoritme za zaznavanje obrazov, sledenje gibanju in analizo oblik. Številni algoritmi te knjižnice so povezani s posebnimi uporabami računalniškega vida, vključno s pregledovanjem izdelkov, medicinskim slikanjem, robotiko, prepoznavanjem obraza in potez ter interakcijo človek-računalnik (HCI). Kot odprtokodno programsko knjižnico se OpenCV lahko uporablja z zelo malo omejitvami tako v komercialnih kot v hobističnih projektih.
Z OpenCV lahko razvijalec odpravi nekaj zapletenega in dolgočasnega dela, ki je namenjeno zagotavljanju zanesljivega delovanja računalniškega vida in se osredotoči na gradnjo aplikacije. Namesto ustvarjanja algoritmov za prepoznavanje obrazov in podobno, lahko programer doda le nekaj vrstic kode, da ima program dostop do ustrezne funkcije knjižnice. Prav tako pomeni, da programerju ni treba obvladati vseh vidikov računalniškega vida, da bi zgradil program, ki ga uporablja.
Poleg osnovne funkcionalnosti za obdelavo videa in slik OpenCV vsebuje sekundarne module, ki podpirajo druga področja aplikacije. Eden od teh modulov vključuje algoritme strojnega učenja, ki lahko analizirajo in napovedujejo vizualne vzorce. Modul HighGUI ponuja elemente uporabniškega vmesnika ter funkcije za shranjevanje in dostop do video in slikovnih datotek.
Knjižnico OpenCV lahko najdete v središču nekaterih različnih ambicioznih projektov. Skupaj z naborom senzorjev, računalniške strojne opreme in prilagojene programske opreme je poganjal močno spremenjeno športno terensko vozilo, ki je brez človeškega posredovanja plulo po 132 milj (212 km) puščavskem dirkališču. Vendar niso vsi projekti, ki se zanašajo na knjižnične vire, tako praktični. Nekateri člani ustvarjalnega gibanja za kodiranje, ohlapna konfederacija ljudi, ki na programiranje gledajo kot na obliko izražanja, so uporabili knjižnico za ustvarjanje novih oblik digitalne umetnosti. Drugi so vdrli v obstoječe naprave, ki vsebujejo kamere, in odprle nove možnosti za igranje iger, interaktivno računalništvo in celo teleprisotnost.