OpenCV - OpenCV
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Listopad 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Původní autoři | Intel Corporation, Willow Garage, Itseez |
---|---|
První vydání | Červen 2000 |
Stabilní uvolnění | 4.5.0 / 12. října 2020 |
Úložiště | ![]() |
Napsáno | C /C ++ |
Operační systém | Cross-platform |
Velikost | ~ 200 MB |
Typ | Knihovna |
Licence | Licence Apache |
webová stránka | opencv |
OpenCV (Otevřená knihovna počítačového vidění) je knihovna programovacích funkcí zaměřeno hlavně na real-time počítačové vidění.[1] Původně vyvinutý společností Intel, to bylo později podporováno Willow Garage poté Itseez (který později získal Intel[2]). Knihovna je napříč platformami a zdarma pro použití pod open-source Licence Apache 2. Počínaje rokem 2011 obsahuje OpenCV akceleraci GPU pro operace v reálném čase[3].
Dějiny
Oficiálně zahájen v roce 1999 byl projekt OpenCV původně Intel Research iniciativa k pokroku procesor -intenzivní aplikace, součást řady projektů včetně reálný čas sledování paprsku a 3D zobrazení stěny.[4] Mezi hlavní přispěvatele do projektu patřila řada odborníků na optimalizaci v Intel Rusko a tým Intel Performance Library. V počátcích OpenCV byly popsány cíle projektu[5] tak jako:
- Pokročilý výzkum vize tím, že poskytuje nejen otevřené, ale také optimalizovaný kód pro základní infrastrukturu vidění. Už ne Objevit Ameriku.
- Šířte znalosti vize poskytnutím společné infrastruktury, na které by vývojáři mohli stavět, aby byl kód snadněji čitelný a přenosný.
- Pokročilé komerční aplikace založené na vizi vytvářením přenosný, výkonově optimalizovaný kód k dispozici zdarma - s licencí, která nevyžaduje, aby byl kód otevřen nebo sám uvolněn.
První alfa verze OpenCV byla zveřejněna na internetu Konference IEEE o počítačovém vidění a rozpoznávání vzorů v roce 2000 a v letech 2001 až 2005 bylo vydáno pět beta verzí. První verze 1.0 byla vydána v roce 2006. Verze 1.1 „před vydáním“ byla vydána v říjnu 2008.
Druhé hlavní vydání OpenCV bylo v říjnu 2009. OpenCV 2 zahrnuje zásadní změny C ++ rozhraní, zaměřené na jednodušší, typově bezpečnější vzory, nové funkce a lepší implementace stávajících z hlediska výkonu (zejména na vícejádrových systémech). Oficiální verze se nyní objevují každých šest měsíců[6] a vývoj nyní provádí nezávislý ruský tým podporovaný komerčními korporacemi.
V srpnu 2012 převzala podporu OpenCV nezisková nadace OpenCV.org, která udržuje vývojáře[7] a uživatelský web.[8]
V květnu 2016 Intel podepsal dohodu o koupi Itseez,[9] přední vývojář OpenCV.[10]
V červenci 2020 OpenCV oznámila a zahájila kampaň Kickstarter pro OpenCV AI Kit, řada hardwarových modulů a doplňky k OpenCV podporující Spatial AI.
Aplikace

Aplikační oblasti OpenCV zahrnují:
- Soupravy nástrojů pro 2D a 3D funkce
- Egomotion odhad
- Systém rozpoznávání obličeje
- Rozpoznávání gest
- Interakce člověka s počítačem (HCI)
- Mobilní robotika
- Pochopení pohybu
- Detekce objektů
- Segmentace a uznání
- Stereopsis stereofonní vidění: vnímání hloubky ze 2 kamer
- Struktura z pohybu (SFM)
- Sledování pohybu
- Rozšířená realita
Pro podporu některých z výše uvedených oblastí obsahuje OpenCV statistiku strojové učení knihovna, která obsahuje:
- Posilování
- Učení rozhodovacího stromu
- Zvyšování gradientu stromy
- Algoritmus maximalizace očekávání
- Algoritmus k-nejbližšího souseda
- Naivní Bayesův klasifikátor
- Umělé neuronové sítě
- Náhodný les
- Podporujte vektorový stroj (SVM)
- Hluboké neuronové sítě (DNN)[11]
Programovací jazyk
OpenCV je napsán v C ++ a jeho primární rozhraní je v C ++, ale stále si zachovává méně komplexní, i když rozsáhlejší starší Rozhraní C.. Veškerý nový vývoj a algoritmy se objevují v rozhraní C ++. Jsou tam vazby Krajta, Jáva a MATLAB /OKTÁVA. API pro tato rozhraní najdete v online dokumentaci.[12] Obálky v několika programovacích jazycích byly vyvinuty, aby podpořily přijetí širším publikem. Ve verzi 3.4, JavaScript vazby pro vybranou podmnožinu funkcí OpenCV byly vydány jako OpenCV.js, které se používají pro webové platformy.[13]
Hardwarová akcelerace
Pokud knihovna najde Intel Integrované výkonnostní primitivy v systému použije tyto proprietární optimalizované rutiny k vlastní akceleraci.
A CUDA -na základě GPU rozhraní probíhá od září 2010.[14]
An OpenCL -na základě GPU rozhraní probíhá od října 2012,[15] dokumentaci k verzi 2.4.13.3 najdete na docs.opencv.org.[16]
Podpora OS
OpenCV běží na následujících desktopových operačních systémech: Okna, Linux, Operační Systém Mac, FreeBSD, NetBSD, OpenBSD. OpenCV běží na následujících mobilních operačních systémech: Android, iOS, Maemo,[17] BlackBerry 10.[18] Uživatel může získat oficiální vydání od SourceForge nebo si vezměte nejnovější zdroje z GitHub.[19] OpenCV používá CMake.
Viz také
- AForge.NET, knihovna počítačového vidění pro Common Language Runtime (.NET Framework a Mono ).
- ROS (robotický operační systém). OpenCV se používá jako primární balíček vidění v systému ROS.
- VXL, alternativní knihovna napsaná v C ++.
- CVIPtools, kompletní softwarové prostředí počítačového vidění a zpracování obrazu založené na grafickém uživatelském rozhraní s knihovnami funkcí C, DLL založenou na modelu COM, spolu se dvěma obslužnými programy pro vývoj algoritmů a dávkové zpracování.
- OpenNN, open-source neuronové sítě knihovna napsaná v C ++.
- Seznam bezplatných a otevřených softwarových balíků
Reference
- ^ Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1. dubna 2012). „Počítačové vidění v reálném čase s OpenCV“. Fronta. 10 (4): 40:40–40:56. doi:10.1145/2181796.2206309.
- ^ Intel získává Itseez: https://opencv.org/intel-acquires-itseez.html
- ^ "CUDA". opencv.org. Citováno 2020-10-15.
- ^ Adrian Kaehler; Gary Bradski (14. prosince 2016). Učení OpenCV 3: Počítačové vidění v C ++ s knihovnou OpenCV. O'Reilly Media. 26 s. ISBN 978-1-4919-3800-3.
- ^ Bradski, Gary; Kaehler, Adrian (2008). Učení OpenCV: Počítačové vidění s knihovnou OpenCV. O'Reilly Media, Inc. str. 6.
- ^ Protokoly změn OpenCV: http://code.opencv.org/projects/opencv/wiki/ChangeLog Archivováno 2013-01-15 na Wayback Machine
- ^ Web vývojáře OpenCV: http://code.opencv.org Archivováno 2013-01-13 v Archiv. Dnes
- ^ Stránka uživatele OpenCV: http://opencv.org/
- ^ „Intel získává počítačové vidění pro IOT, automobilový průmysl | Intel Newsroom“. Intel Newsroom. Citováno 2018-11-26.
- ^ „Intel získává ruskou společnost pro počítačové vidění Itseez“. Digitální zprávy východ-západ. 2016-05-31. Citováno 2018-11-26.
- ^ OpenCV: http://opencv.org/opencv-3-3.html
- ^ Rozhraní OpenCV C: http://docs.opencv.org
- ^ Úvod do OpenCV.js a výukových programů
- ^ Port Cuda GPU: http://opencv.org/platforms/cuda.html Archivováno 2016-05-21 na Wayback Machine
- ^ Oznámení OpenCL: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
- ^ Reference rozhraní API pro počítačové vidění s akcelerací OpenCL: http://docs.opencv.org/modules/ocl/doc/ocl.html
- ^ Port Maemo: https://garage.maemo.org/projects/opencv
- ^ BlackBerry 10 (částečný port): https://github.com/blackberry/OpenCV
- ^ „GitHub - opencv / Opencv: Open Source Computer Vision Library“. 21. května 2020.