OpenCV (Open Source Computer Vision Library) je multiplatformová open-source knižnica, ktorá obsahuje algoritmy zamerané na počítačové videnie. Knižnica obsahuje viac ako 2500 optimalizovaných algoritmov. Obsahuje klasické ale aj najmodernejšie riešenia problémov z oblasti počítačového videnia a strojového učenia. Tieto algoritmy môžu byť použité na rozpoznanie tvárí, klasifikáciu ľudského správania a sledovanie pohybu vo videách, extrakciu 3D modelov objektov, spájanie obrázkov na tvorbu vysoko kvalitných obrazov celej scény, hľadanie podobných obrázkov v databáze, odstránenie efektu červených očí pri použití blesku, sledovanie pohybu očí a rozpoznanie scenérie atď. Knižnica je široko používaná vo výskumných skupinách, firmách a štátnych podnikoch. Počet stiahnutí tejto knižnice prekračuje 18 miliónov. OpenCV je napísaná v jazyku C++, ale je možné použiť ju aj v jazykoch Python, Java a MATLAB.[1]

OpenCV

Logo
Základné informácie
AutorIntel, Willow Garage
Posledná aktuálna verzia4.5.0
Vyvinutý vC++
Operačný systémMultiplatformový softvér
Typ softvéruKnižnica
LicenciaApache License
Ďalšie odkazy
Webová stránkaopencv.org

Pozri aj Informačný portál

História upraviť

Knižnica OpenCV bola vytvorená spoločnosťou Intel. Vývoj začal v 1998 a prvé verejné vydanie bolo v roku 2000. Intel ešte aj dnes podporuje ďalší vývoj tento knižnice.[2]

  • v roku 2006 bola vydaná prvá oficiálna verzia OpenCV 1.0 – implementovaná bola v C a obsahovala rôzne algoritmy na spracovanie obrazu, výpočtovú geometriu, detekciu tvárí, kalibráciu kamery atď., a niektoré klasické metódy zo strojového učenia ako napr. rozhodovacie stromy, SVM, viacvrstvové perceptrony atď.[3]
  • v roku 2009 bola vydaná verzia OpenCV 2.0 – C++ sa stal hlavným hlavným jazykom knižnice.[3]

Moduly upraviť

OpenCV má modulárnu štruktúru čo znamená, že balíček obsahuje niekoľko zdieľaných alebo statických knižníc. Hlavné moduly sú:[4]

  • Core functionality (core) – modul definujúci základné dátové štruktúry a funkcie, ktoré sú používané ostatnými modulmi.
  • Image Processing (imgproc) – modul na spracovanie obrázkov. Obsahuje lineárne a nelineárne filtrovanie, geometrické transformácie, konverziu farebných priestorov, histogramy atď.
  • Video Analysis (video) – modul na spracovanie videí, ktorý obsahuje algoritmy na odhad pohybu, extrakciu pozadia a sledovanie objektov.
  • Camera Calibration and 3D Reconstruction (calib3d) – kalibrácia kamery, odhad polohy objektu, 3D rekonštrukcia.
  • 2D Features Framework (features2d) – detektory charakteristických čŕt, deskriptory.
  • Object Detection (objdetect) – detekcia objektov a instancie preddefinovaných tried (napr. tvár, oči, ľudia, autá…)
  • High-level GUI (highgui) – ľahko použiteľné rozhranie na jednoduché UI funkcie.
  • Video I/O (videoio) – ľahko použiteľné rozhranie na zaznamenávanie videa a video kodeky
  • … a ďalšie

Programovací jazyk upraviť

OpenCV je napísaný v C++, ale stále si zachováva menej komplexné, aj keď rozsiahle staršie rozhranie C. Všetky novinky a algoritmy sa objavujú v rozhraní C++. Väzby existujú v jazykoch Python,(napríklad metódy OpenCV cv.line[5], OpenCV cv2.cvtcolor[6], OpenCV cv2.circle[7]) Java a MATLAB/OCTAVE. Rozhranie API pre tieto rozhrania nájdete v online dokumentácii.[8]

Obaly v niekoľkých programovacích jazykoch boli vyvinuté s cieľom podporiť prijatie širším publikom. Vo verzii 3.4 boli väzby JavaScript pre vybranú podmnožinu funkcií OpenCV vydané ako OpenCV.js, ktoré sa majú použiť pre webové platformy.[9]


Referencie upraviť

  1. About [online]. opencv.org, [cit. 2020-10-31]. Dostupné online.
  2. Intel [online]. opencv.org, [cit. 2020-10-31]. Dostupné online.
  3. a b Happy 20th anniversary to OpenCV library! #opencvanniversary20 [online]. [Cit. 2020-10-31]. Dostupné online. (po anglicky)
  4. OpenCV: Introduction [online]. docs.opencv.org, [cit. 2020-10-31]. Dostupné online.
  5. OpenCV cv.line [online]. 2021-10-11. Dostupné online.
  6. OpenCV cv2.cvtcolor [online]. 2021-10-11. Dostupné online.
  7. OpenCV cv2.circle [online]. 2021-10-11. Dostupné online.
  8. OpenCV C interface: http://docs.opencv.org
  9. Introduction to OpenCV.js and Tutorials

Externé odkazy upraviť