OpenCV
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 15. maj 2018; checks kræver
19 redigeringer .
OpenCV ( Eng. Open Source Computer Vision Library , open source computer vision library) er et bibliotek af computer vision algoritmer , billedbehandling og generelle numeriske algoritmer med open source . Implementeret i C / C++ , også udviklet til Python , Java , Ruby , Matlab , Lua og andre sprog [2] . Gratis at bruge til akademiske og kommercielle formål - distribueret under betingelserne i BSD-licensen .
Den anden store opdatering af OpenCV blev udgivet i oktober 2009. OpenCV 2 indeholder store ændringer til C++-grænsefladen for at forenkle, forbedre sikkerheden, introducere nye funktioner og øge ydeevnen (især for multi-core-systemer). Officielle udgivelser frigives nu hver sjette måned [3] , og udviklingen udføres af et uafhængigt russisk team med støtte fra kommercielle selskaber. [4] I maj 2016 underskrev Intel en aftale om at erhverve Itseez [5] , den ledende udvikler af OpenCV. [6]
Ansøgning
- At godkende en fælles standard computer vision interface til applikationer på dette område. At fremme væksten af sådanne applikationer og skabe nye modeller for pc-brug.
- Gør Intel -platforme attraktive for udviklere af sådanne applikationer ved yderligere at accelerere OpenCV med Intel® Performance Libraries (inkluderer nu IPP (lavniveaubiblioteker til signalbehandling, billedbehandling og mediecodecs) og MKL (specialversion af LAPACK og FFTPack )). OpenCV er i stand til automatisk at registrere tilstedeværelsen af IPP'er og MKL'er og bruge dem til at fremskynde behandlingen.
Understøttede platforme og værktøjer
Bibliotekerne selv:
- Microsoft Windows : kompilatorer Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++, Mingw ( GCC 3.x).
- Windows RT : Overført til ARM af Itseez [7] .
- Linux : GCC (2.9x, 3.x), Intel Compiler: "./configure-make-make install", RPM (spec-fil inkluderet).
- Mac OS X : GCC (3.x, 4.x).
- android .
- iOS .
- C og "letvægts" C++ bruges. Pragmaer og betinget kompilering bruges meget begrænset.
GUI- værktøjer , videooptagelse:
Dokumentation: Statisk HTML , PDF .
Hovedmoduler
I version 2.2 er biblioteket blevet omorganiseret. I stedet for de universelle moduler cxcore, cvaux, highGUI og andre blev der skabt flere kompakte moduler med en snævrere specialisering:
- opencv_core - kernefunktionalitet. Indeholder grundlæggende strukturer, beregninger (matematiske funktioner, tilfældige talgeneratorer) og lineær algebra, DFT , DCT , I/O til XML og YAML osv.
- opencv_imgproc - billedbehandling (filtrering, geometriske transformationer, konvertering af farverum osv.).
- opencv_highgui - enkel brugergrænseflade, billede og video input/output.
- opencv_ml - Maskinlæringsmodeller (SVM'er, beslutningstræer, stimuleret læring osv.).
- opencv_features2d - genkendelse og beskrivelse af flade primitiver ( SURF, FAST og andre, herunder en specialiseret ramme).
- opencv_video - bevægelsesanalyse og objektsporing ( optisk flow , bevægelsesmønstre, baggrundseliminering).
- opencv_objdetect - genkendelse af objekter i billedet (ansigtsgenkendelse ved hjælp af Viola-Jones-algoritmen , HOG-persongenkendelse osv.).
- opencv_calib3d - Kamerakalibrering, stereomatch-søgning og 3D-databehandlingselementer.
- opencv_flann - hurtig nærmeste nabobibliotek (FLANN 1.5) og OpenCV-indpakning.
- opencv_contrib - ledsagende kode, endnu ikke klar til brug.
- opencv_legacy er ældre kode, opbevaret for bagudkompatibilitet.
- opencv_gpu - acceleration af nogle OpenCV-funktioner på grund af CUDA , oprettet med støtte fra NVidia .
Programmeringssprog
OpenCV er skrevet i C++ ligesom dets hovedgrænseflade, men med delvis brug af C -grænsefladen . Alle nye udviklinger og algoritmer vises i C++-grænsefladen. Python , Java og MATLAB /OCTAVE er understøttet (f.eks. OpenCV cv.line [8] , OpenCV cv2.cvtcolor [9] , OpenCV cv2.circle [10] metoder ). API'et til disse grænseflader kan findes i onlinedokumentationen [11] .
Noter
- ↑ Udgivelser . Hentet 20. september 2019. Arkiveret fra originalen 29. august 2019. (ubestemt)
- ↑ Bradsky G., Kaehler A. Learning OpenCV Arkiveret 28. december 2008 på Wayback Machine - O'Reilly, 2008. - C. 1 - ISBN 978-0-596-51613-0
- ↑ OpenCV-ændringslogfiler: http://code.opencv.org/projects/opencv/wiki/ChangeLog Arkiveret fra originalen den 15. januar 2013.
- ↑ OpenCV Developer Site: http://code.opencv.org Arkiveret 13. januar 2013.
- ↑ Intel erhverver computervision til IOT, biler ? . Intel Newsroom . Hentet: 19. august 2022. (ubestemt)
- ↑ Øst-vestlige digitale nyheder. Intel køber det russiske computervisionsfirma Itseez ? (31. maj 2016). Hentet: 19. august 2022. (ubestemt)
- ↑ Itseez Blog Hvordan vi porterede OpenCV til WindowsRT Arkiveret 8. februar 2014.
- ↑ OpenCV cv.line (11. oktober 2021). Hentet 12. oktober 2021. Arkiveret fra originalen 27. oktober 2021. (ubestemt)
- ↑ OpenCV cv2.cvtcolor (11. oktober 2021). Hentet 12. oktober 2021. Arkiveret fra originalen 27. oktober 2021. (ubestemt)
- ↑ OpenCV cv2.circle (11. oktober 2021). Hentet 12. oktober 2021. Arkiveret fra originalen 27. oktober 2021. (ubestemt)
- ↑ OpenCV-moduler (11. oktober 2021). Hentet 12. oktober 2021. Arkiveret fra originalen 19. oktober 2021. (ubestemt)
Litteratur
- Kaler A., Bradsky G. Learning OpenCV 3 = Learning OpenCV 3. - M. : DMK-Press, 2017. - 826 s. - ISBN 978-5-97060-471-7 .
- Bueno, Suarez, Espinosa. Billedbehandling med OpenCV = At lære billedbehandling med OpenCV. - M. : DMK-Press, 2016. - 210 s. - ISBN 978-5-97060-387-1 .
- Prokhorenok N. OpenCV og Java. Billedbehandling og computersyn. - Sankt Petersborg. : BHV-Petersburg , 2018. - 320 s. — ISBN 978-5-9775-3955-5 .
Links