OpenCV

OpenCV
Originele auteur (s) Intel Corporation, Wilg garage, Itseez
Eerste uitgave Juni 2000 tot 20000000 juni 2000; 22 jaar geleden
Stabiele vrijlating
4.6.0 / 7 juni 2022; 4 maanden geleden
Opslagplaats
Geschreven in C, C ++, Python, Java, Assemblagetaal
Besturingssysteem Platformovereenkomst
Maat ~ 200 MB
Type Bibliotheek
Licentie Apache -licentie
Website OpenCV.org

OpenCV (Open source Computer Vision Library) is een bibliotheek met programmeerfuncties voornamelijk gericht op realtime computer visie.[1] Oorspronkelijk ontwikkeld door Intel, het werd later ondersteund door Wilg garage dan Itseez (die later werd overgenomen door Intel[2]). De bibliotheek is platformovereenkomst en gratis voor gebruik onder de open source Apache 2 licentie. Vanaf 2011 bevat OpenCV GPU-versnelling voor realtime operaties.[3]

Geschiedenis

Officieel gelanceerd in 1999 was het OpenCV -project aanvankelijk een Intel -onderzoek Initiatief om vooruit te komen processor-Intensieve toepassingen, onderdeel van een reeks projecten, waaronder echte tijd ray tracing en 3D -display muren.[4] De belangrijkste bijdragers aan het project omvatten een aantal optimalisatie -experts in Intel Rusland, evenals het Performance Library -team van Intel. In de begindagen van OpenCV werden de doelen van het project beschreven[5] net zo:

  • Vooruitzichtonderzoek door niet alleen open te bieden, maar ook geoptimaliseerde code voor basisinfrastructuur. Niet meer het wiel opnieuw uitvinden.
  • Verspreiding van visie -kennis door een gemeenschappelijke infrastructuur te bieden waarop ontwikkelaars kunnen voortbouwen, zodat de code gemakkelijker leesbaar en overdraagbaar zou zijn.
  • Op visie gebaseerde commerciële applicaties van opzicht door te maken door te maken draagbaar, Prestatie-geoptimaliseerde code gratis beschikbaar-met een licentie die geen code vereist om open of vrij te zijn.

De eerste alfa -versie van OpenCV werd vrijgegeven aan het publiek op de IEEE -conferentie over computer vision en patroonherkenning in 2000 en vijf bèta's werden uitgebracht tussen 2001 en 2005. De eerste 1.0-versie werd uitgebracht in 2006. Een versie 1.1 "pre-release" werd uitgebracht in oktober 2008.

De tweede grote release van de OpenCV was in oktober 2009. OpenCV 2 omvat belangrijke wijzigingen in de C ++ Interface, gericht op gemakkelijkere, meer type-veilige patronen, nieuwe functies en betere implementaties voor bestaande implementaties in termen van prestaties (vooral op multi-core systemen). Officiële releases vinden nu elke zes maanden plaats[6] En de ontwikkeling wordt nu gedaan door een onafhankelijk Russisch team dat wordt ondersteund door commerciële bedrijven.

In augustus 2012 werd ondersteuning voor OpenCV overgenomen door een non-profit Foundation OpenCV.org, die een ontwikkelaar onderhoudt[7] en gebruikerssite.[8]

In mei 2016 heeft Intel een overeenkomst getekend om het te verwerven,[9] Een toonaangevende ontwikkelaar van OpenCV.[10]

In juli 2020 kondigde OpenCV aan en begon een Kickstarter -campagne voor de OpenCV AI Kit, een reeks hardwaremodules en toevoegingen aan OpenCV die ruimtelijke AI ondersteunen.

Toepassingen

Openframeworks Het OpenCV-add-on voorbeeld uitvoeren

De toepassingsgebieden van OpenCV zijn onder meer:

Om enkele van de bovenstaande gebieden te ondersteunen, omvat OpenCV een statistiek Machine Learning bibliotheek die bevat:

Programmeertaal

OpenCV is geschreven in C ++ en de primaire interface is in C ++, maar het heeft nog steeds een minder uitgebreide, maar uitgebreide ouder behouden C -interface. Alle nieuwe ontwikkelingen en algoritmen verschijnen in de C ++ -interface. Er zijn bindingen in Python, Java en Matlab/OCTAAF. De API voor deze interfaces is te vinden in de online documentatie.[12] Wikkelaars in verschillende programmeertalen zijn ontwikkeld om de adoptie door een breder publiek aan te moedigen. In versie 3.4, Javascript Bindingen voor een geselecteerde subset van OpenCV -functies werden vrijgegeven als OpenCV.JS, om te worden gebruikt voor webplatforms.[13]

Hardware acceleratie

Als de bibliotheek Intel's vindt Geïntegreerde prestaties primitieven Op het systeem zal deze gepatenteerde geoptimaliseerde routines gebruiken om zichzelf te versnellen.

A Cudagebaseerd GPU Interface is sinds september 2010 aan de gang.[14]

Een OpenCLgebaseerd GPU Interface is sinds oktober 2012 aan de gang,[15] Documentatie voor versie 2.4.13.3 is te vinden op docs.opencv.org.[16]

OS -ondersteuning

OpenCV wordt uitgevoerd op de volgende desktop -besturingssystemen: ramen, Linux, macos, FreeBSD, NetBSD, Openbsd. OpenCV draait op de volgende mobiele besturingssystemen: Android, iOS, Maemo,[17] BlackBerry 10.[18] De gebruiker kan officiële releases krijgen van Bronforge Of neem de laatste bronnen uit Gitub.[19] OpenCV -gebruik Cmake.

Zie ook

Referenties

  1. ^ Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1 april 2012). "Realtime Computer Vision met OpenCV". Rij. 10 (4): 40: 40–40: 56. doen:10.1145/2181796.2206309.
  2. ^ Intel verwerft itseez: https://opencv.org/intel-acquires-itseez.html
  3. ^ "Cuda". Opencv.org. Opgehaald 2020-10-15.
  4. ^ Adrian Kaehler; Gary Bradski (14 december 2016). Leren OpenCV 3: Computer Vision in C ++ met de OpenCV -bibliotheek. O'Reilly Media. pp. 26ff. ISBN 978-1-4919-3800-3.
  5. ^ Bradski, Gary; Kaehler, Adrian (2008). Leren OpenCV: computer vision met de OpenCV -bibliotheek. O'Reilly Media, Inc. p. 6.
  6. ^ OpenCV wijzigen logboeken: http://code.opencv.org/projects/opencv/wiki/changelog Gearchiveerd 2013-01-15 op de Wayback -machine
  7. ^ OpenCV Developer Site: http://code.opencv.org Gearchiveerd 2013-01-13 om archief.today
  8. ^ OpenCV gebruikerssite: http://opencv.org/
  9. ^ "Intel verwerft computer vision voor IoT, Automotive | Intel Newsroom". Intel Newsroom. Opgehaald 2018-11-26.
  10. ^ "Intel verwerft het Russische computerzichtbedrijf Itseez". East-West digitaal nieuws. 2016-05-31. Opgehaald 2018-11-26.
  11. ^ OpenCV: http://opencv.org/opencv-3-3.html
  12. ^ OpenCV C -interface: http://docs.opencv.org
  13. ^ Inleiding tot OpenCV.js en tutorials
  14. ^ CUDA GPU -poort: http://opencv.org/platforms/cuda.html Gearchiveerd 2016-05-21 op de Wayback -machine
  15. ^ OpenCL -aankondiging: http://opencv.org/opencv-v2-4-3rc-is-under-way.html
  16. ^ OpenCL-versnelde computer Vision API Referentie: http://docs.opencv.org/modules/ocl/doc/ocl.html
  17. ^ Maemo Port: https://garage.maemo.org/projects/opencv
  18. ^ BlackBerry 10 (gedeeltelijke poort): https://github.com/blackberry/opencv
  19. ^ "GitHub - OpenCV/OpenCV: Open Source Computer Vision Library". 21 mei 2020.