Što je OpenCV?

Open Source Computer Vision (OpenCV) je knjižnica računalnog programiranja otvorenog koda razvijena za podršku aplikacijama koje koriste računalni vid. Pruža stotine funkcija za hvatanje, analizu i manipulaciju vizualnim podacima i može eliminirati neke probleme s kojima se susreću programeri pri razvoju aplikacija koje se oslanjaju na računalni vid. Dijelovi knjižnice također pružaju korisničko sučelje i funkcije prepoznavanja uzoraka. OpenCV se koristio u praktičnim i kreativnim aplikacijama, uključujući vozila s vlastitim pilotiranjem i nove oblike digitalne umjetnosti.

Knjižnice programiranja pružaju uobičajene funkcije ili složene mogućnosti koje programeri mogu koristiti u svojim programima. OpenCV knjižnica sadrži stotine funkcija koje podržavaju hvatanje, analizu i manipulaciju vizualnim informacijama koje se na računalo unose putem web kamera, video datoteka ili drugih vrsta uređaja. Jednostavne funkcije mogu se koristiti za crtanje linije ili drugog oblika na zaslonu, dok napredniji dijelovi biblioteke sadrže algoritme za otkrivanje lica, praćenje kretanja i analizu oblika. Mnogi od algoritama ove biblioteke povezani su sa specifičnim korištenjem računalnog vida, uključujući inspekciju proizvoda, medicinsko snimanje, robotiku, prepoznavanje lica i gesta te interakciju čovjeka i računala (HCI). Kao biblioteka otvorenog koda za programiranje, OpenCV se može koristiti uz vrlo malo ograničenja u komercijalnim i hobističkim projektima.

Uz OpenCV, programer može eliminirati neke od složenih i zamornih poslova koji se odnose na pouzdano funkcioniranje računalnog vida i fokusiranje na izgradnju aplikacije. Umjesto stvaranja algoritama za prepoznavanje lica i slično, programer može dodati samo nekoliko redaka koda kako bi program pristupio odgovarajućoj funkciji knjižnice. To također znači da programer ne mora svladati svaki aspekt računalnog vida da bi napravio program koji ga koristi.

Uz osnovnu funkcionalnost obrade videa i slika, OpenCV sadrži sekundarne module namijenjene podršci drugim područjima aplikacije. Jedan od tih modula uključuje algoritme strojnog učenja koji mogu analizirati i predvidjeti vizualne obrasce. HighGUI modul nudi elemente korisničkog sučelja kao i funkcije za pohranu i pristup video i slikovnim datotekama.

OpenCV knjižnica može se naći u središtu nekih različitih ambicioznih projekata. Zajedno s asortimanom senzora, računalnog hardvera i prilagođenog softvera, pokretao je jako modificirano sportsko terensko vozilo koje je navigiralo pustinjskom stazom od 132 milje (212 km) bez ljudske intervencije. Međutim, nisu svi projekti koji se oslanjaju na knjižnične resurse tako praktični. Neki članovi pokreta za kreativno kodiranje, labave konfederacije ljudi koji programiranje gledaju kao oblik izražavanja, koristili su knjižnicu za stvaranje novih oblika digitalne umjetnosti. Drugi su hakirali postojeće uređaje koji sadrže kamere i otvorili nove mogućnosti za igranje igara, interaktivno računanje, pa čak i teleprisutnost.