Open Source Computer Vision Library är det fullständiga namnet för OpenCV, ett bibliotek med programmeringsfunktioner och öppen källkodsverktygslåda för plattformsoberoende användning i realtid datorseende bildbehandling och OpenCV-spårning. Den utvecklades nära 21-talets början och var ursprungligen avsedd för tredimensionella (3D) visningsväggar och strålspårning. Genom att använda sig av kreativ kodning kan OpenCV erbjuda ett ramverk till utvecklare av prestandaoptimerad visionbaserad kod i ett C- eller C++-gränssnitt initialt, även om det finns tillgängligt på flera språk, och är anpassningsbart för fjärranvändning på handhållna enheter. Den kan bland annat fånga videofiler i realtid, grundläggande videokonfigurationer, objektdetektering och rörelse- och färgspårning. OpenCV är kapabel till kamerakalibrering eftersom den kan hitta och spåra kamerakalibreringar och ställa in stereokorrespondens på videokameror.
CalcGlobalOrientation-funktionen för OpenCV-spårning beräknar rörelseorientering för en specificerad region i kombination med ett andra CalcMotionGradient-kommando, och skapar en rörelsehistorik och tidsstämpel för att spåra rörelseriktning, returnerar resultat i grader och registrerar efterföljande skift. Det slutliga resultatet skulle vara summan av den ursprungliga orienteringen och skiftningsvinklarna. Läsning och skrivning av bildfiler och tvingande av dem till en trekanalig färgbild, filer kan modifieras, direkt och indirekt åtkomliga och konverteras till gråskalebilder eller färgbytebilder.
Det optiska flödet av bilder kan styras med blockmatchningsspårning och varje pixel beräknas och instrueras i flödet. Allokering och frisläppande av bilder för en-kanals byte-bilder eller tre-kanals flytande bilder för att ställa in en region av intresse eller klona en bild är möjliga. OpenCV tillåter infångning av rambilder från en videosekvens från en fil från flera kameror samtidigt genom att ta en bild från varje och sedan hämta från dem alla, för att skapa och redigera nya videoflöden.
Ansiktsspårning av OpenCV görs med hjälp av dess Camshift-funktioner. Den här funktionen implementerar en objektspårningsalgoritm, hittar objektets centrum, skapar ett färghistogram, beräknar ansiktssannolikhet, flyttar sedan platsen för ansiktets rektangel i varje videobildruta och gör justeringar genom att beräkna storlek och vinkel. Den koncentrerar de ljusaste pixlarna över det centrerade ansiktet och använder skala för att anpassa sig till mindre ansikten i efterföljande bildrutor om bilden drar sig tillbaka.
OpenCV-spårningsförmåga används i många applikationer. Från ansiktsigenkänning till gestigenkänning, mobil robotik, interaktionsprogram mellan människa och dator och stereopsis, som skapar stereoseende djupuppfattning med hjälp av två kameror, med användning av objekt-, färg- och rörelsespårning. OpenCV har också statistiska maskininlärningsbibliotek som innehåller beslutsträdsinlärningsmoduler, spårningsalgoritmer för förväntningsmaximering, gradientförstärkande träd och funktionsmoduler för artificiella neurala nätverk.