OpenCV
OpenCV | |
Logo | |
Základné informácie | |
---|---|
Autor | Intel, Willow Garage |
Posledná aktuálna verzia | 4.5.0 |
Vyvinutý v | C++ |
Operačný systém | Multiplatformový softvér |
Typ softvéru | Knižnica |
Licencia | Apache License |
Ďalšie odkazy | |
Webová stránka | opencv.org |
Pozri aj Informačný portál |
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]
História
[upraviť | upraviť zdroj]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ť | upraviť zdroj]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ť | upraviť zdroj]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ť | upraviť zdroj]- ↑ About [online]. opencv.org, [cit. 2020-10-31]. Dostupné online.
- ↑ Intel [online]. opencv.org, [cit. 2020-10-31]. Dostupné online.
- ↑ a b Happy 20th anniversary to OpenCV library! #opencvanniversary20 [online]. [Cit. 2020-10-31]. Dostupné online. (po anglicky)
- ↑ OpenCV: Introduction [online]. docs.opencv.org, [cit. 2020-10-31]. Dostupné online.
- ↑ OpenCV cv.line [online]. 2021-10-11, [cit. 2021-10-12]. Dostupné online. Archivované 2021-10-27 z originálu.
- ↑ OpenCV cv2.cvtcolor [online]. 2021-10-11, [cit. 2021-10-12]. Dostupné online. Archivované 2021-10-27 z originálu.
- ↑ OpenCV cv2.circle [online]. 2021-10-11, [cit. 2021-10-12]. Dostupné online. Archivované 2021-10-27 z originálu.
- ↑ OpenCV C interface: http://docs.opencv.org
- ↑ Introduction to OpenCV.js and Tutorials
Externé odkazy
[upraviť | upraviť zdroj]- docs.opencv.org - dokumentácia