encyklopedia.run.place

OpenCV

OpenCV (ang. Open Source Computer Vision Library) – otwarto‑źródłowa biblioteka programistyczna służąca do przetwarzania i analizy obrazów oraz wideo, a także do rozwiązywania zadań widzenia komputerowego i uczenia maszynowego. Projekt został rozpoczęty w 1999 roku w ramach inicjatywy badawczej przedsiębiorstwa Intel i od tego czasu jest rozwijany przez społeczność międzynarodową.

Historia

Architektura i główne moduły

Biblioteka jest podzielona na szereg modułów, które można wykorzystywać niezależnie:

  • core – podstawowe struktury danych (Mat, Vec) i operacje na macierzach.
  • imgproc – przetwarzanie obrazów (filtry, transformacje geometryczne, detekcja krawędzi).
  • highgui – interfejsy do wyświetlania i zapisu obrazów oraz wideo.
  • video – algorytmy analizy wideo, m.in. optyczny przepływ (optical flow).
  • features2d – detekcja i opis cech (SIFT, SURF, ORB).
  • objdetect – klasyfikatory obiektów (np. Haar cascade).
  • dnn – uruchamianie sieci neuronowych (TensorFlow, Caffe, ONNX).
  • ml – algorytmy klasyfikacji i regresji (SVM, drzewa decyzyjne).

Języki programowania i interfejsy

OpenCV udostępnia oficjalne interfejsy dla następujących języków:

  • C++ – język bazowy, zapewniający pełną funkcjonalność.
  • Python – najpopularniejszy wśród naukowców i szybki do prototypowania.
  • Java – wykorzystywany w aplikacjach mobilnych i desktopowych.
  • C# – dostępny poprzez nakładki takie jak Emgu CV.

Zastosowania

OpenCV znajduje zastosowanie w wielu dziedzinach:

Licencja i dostępność

OpenCV jest udostępniane na licencji BSD, co pozwala na darmowe użycie w projektach komercyjnych oraz niekomercyjnych. Kod źródłowy znajduje się w publicznym repozytorium Git (hostowany na platformie GitHub – w encyklopedii opisano tę platformę). Biblioteka jest dostępna dla systemów Windows, Linux, macOS, Android oraz iOS.

Przykładowy kod w Pythonie

import cv2

# wczytaj obraz
obraz = cv2.imread('obraz.jpg')

# konwersja do skali szarości
szary = cv2.cvtColor(obraz, cv2.COLOR_BGR2GRAY)

# wykryj krawędzie metodą Canny'ego
krawedzie = cv2.Canny(szary, 100, 200)

# wyświetl wynik
cv2.imshow('Krawedzie', krawedzie)
cv2.waitKey(0)
cv2.destroyAllWindows()

Bibliografia i dalsze lektury

W encyklopedii dostępne są szczegółowe artykuły omawiające poszczególne tematy powiązane z OpenCV:

OpenCV pozostaje jednym z najważniejszych narzędzi w dziedzinie sztucznej inteligencji i przetwarzania sygnałów wizualnych, a jego otwarta licencja sprzyja ciągłemu rozwojowi i adaptacji w nowych technologiach.