Open Source Computer Vision Library to pełna nazwa dla OpenCV, biblioteki funkcji programowania i zestawu narzędzi typu open source do użytku na wielu platformach w przetwarzaniu obrazów komputerowych w czasie rzeczywistym i śledzeniu OpenCV. Opracowany na przełomie XIX i XX wieku, początkowo był przeznaczony do trójwymiarowych (21D) ścian wystawowych i ray tracingu. Korzystając z kreatywnego kodowania, OpenCV może zaoferować programistom zoptymalizowany pod kątem wydajności kod oparty na wizji w interfejsie C lub C++ początkowo, choć dostępnym w kilku językach i można go dostosować do zdalnego użytkowania na urządzeniach przenośnych. Umożliwia między innymi przechwytywanie plików wideo w czasie rzeczywistym, podstawowe konfiguracje wideo, wykrywanie obiektów oraz śledzenie ruchu i kolorów. OpenCV jest zdolny do kalibracji kamer, ponieważ może znajdować i śledzić kalibracje kamer oraz ustawiać korespondencję stereo w kamerach wideo.
Funkcja CalcGlobalOrientation do śledzenia OpenCV oblicza orientację ruchu określonego regionu w połączeniu z drugim poleceniem CalcMotionGradient i tworzy historię ruchu i znacznik czasu w celu śledzenia kierunku ruchu, zwracając wyniki w stopniach i rejestrując kolejne przesunięcia. Ostateczny wynik byłby sumą pierwotnej orientacji i kątów przesunięcia. Odczytując i zapisując pliki obrazów i wymuszając z nich tworzenie trójkanałowego kolorowego obrazu, pliki można modyfikować, uzyskiwać do nich bezpośredni i pośredni dostęp oraz konwertować na obrazy w skali szarości lub kolorowe obrazy bajtowe.
Optyczny przepływ obrazów może być kierowany za pomocą śledzenia dopasowywania bloków, a każdy piksel jest obliczany i instruowany w przepływie. Możliwe jest przydzielanie i zwalnianie obrazów dla jednokanałowych obrazów bajtowych lub trójkanałowych obrazów pływających w celu ustawienia obszaru zainteresowania lub sklonowania obrazu. OpenCV umożliwia przechwytywanie obrazów klatek z sekwencji wideo z pliku z kilku kamer jednocześnie, pobierając jeden obraz z każdej z nich, a następnie pobierając je ze wszystkich, aby tworzyć i edytować nowe strumienie wideo.
Śledzenie twarzy OpenCV odbywa się za pomocą funkcji Camshift. Ta funkcja implementuje algorytm śledzenia obiektów, znajduje środek obiektu, tworzy histogram kolorów, oblicza prawdopodobieństwo twarzy, a następnie przesuwa położenie prostokąta twarzy w każdej klatce wideo i dokonuje korekt poprzez obliczenie rozmiaru i kąta. Koncentruje najjaśniejsze piksele na wyśrodkowanej twarzy i używa skali do dostosowywania się do mniejszych twarzy w kolejnych klatkach, jeśli obraz się cofa.
Możliwości śledzenia OpenCV są wykorzystywane w wielu aplikacjach. Od rozpoznawania twarzy po rozpoznawanie gestów, robotykę mobilną, programy interakcji człowiek-komputer i stereopsję, która tworzy percepcję głębi widzenia stereo za pomocą dwóch kamer, wykorzystując śledzenie obiektów, kolorów i ruchu. OpenCV posiada również biblioteki statystycznego uczenia maszynowego zawierające moduły uczenia drzew decyzyjnych, algorytmy śledzenia maksymalizacji oczekiwań, drzewa zwiększające gradient i moduły funkcjonowania sztucznych sieci neuronowych.