OpenCV
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 15 maj 2018; kontroller kräver
19 redigeringar .
OpenCV ( Eng. Open Source Computer Vision Library , open source computer vision library) är ett bibliotek med datorvisionalgoritmer , bildbehandling och generella numeriska algoritmer med öppen källkod . Implementerad i C / C++ , även utvecklad för Python , Java , Ruby , Matlab , Lua och andra språk [2] . Gratis att använda för akademiska och kommersiella ändamål - distribueras under villkoren för BSD-licensen .
Den andra stora uppdateringen av OpenCV släpptes i oktober 2009. OpenCV 2 innehåller stora förändringar av C++-gränssnittet för att förenkla, förbättra säkerheten, introducera nya funktioner och öka prestanda (särskilt för system med flera kärnor). Officiella releaser släpps nu var sjätte månad [3] och utvecklingen utförs av ett oberoende ryskt team med stöd av kommersiella företag. [4] I maj 2016 undertecknade Intel ett avtal om att förvärva Itseez [5] , den ledande utvecklaren av OpenCV. [6]
Applikation
- Att godkänna ett gemensamt standardgränssnitt för datorseende för applikationer inom detta område. Att främja tillväxten av sådana applikationer och skapa nya modeller för PC-användning.
- Gör Intel- plattformar attraktiva för utvecklare av sådana applikationer genom att ytterligare accelerera OpenCV med Intel® Performance Libraries (inkluderar nu IPP (lågnivåbibliotek för signalbehandling, bildbehandling och mediacodec) och MKL (specialversion av LAPACK och FFTPack )). OpenCV kan automatiskt upptäcka närvaron av IPP och MKL och använda dem för att påskynda bearbetningen.
Plattformar och verktyg som stöds
Biblioteken själva:
- Microsoft Windows : kompilatorer Microsoft Visual C++ (6.0, .NET 2003), Intel Compiler, Borland C++, Mingw ( GCC 3.x).
- Windows RT : Porteras till ARM av Itseez [7] .
- Linux : GCC (2.9x, 3.x), Intel Compiler: "./configure-make-make install", RPM (spec-fil ingår).
- Mac OS X : GCC (3.x, 4.x).
- android .
- iOS .
- C och "lättvikts" C++ används. Pragmor och villkorlig sammanställning används mycket begränsat.
GUI - verktyg , videoinspelning:
Dokumentation: Statisk HTML , PDF .
Huvudmoduler
I version 2.2 har biblioteket omorganiserats. Istället för de universella modulerna cxcore, cvaux, highGUI och andra skapades flera kompakta moduler med en smalare specialisering:
- opencv_core - kärnfunktionalitet. Inkluderar grundläggande strukturer, beräkningar (matematiska funktioner, slumptalsgeneratorer) och linjär algebra, DFT , DCT , I/O för XML och YAML, etc.
- opencv_imgproc - bildbehandling (filtrering, geometriska transformationer, färgrymdskonvertering, etc.).
- opencv_highgui - enkelt användargränssnitt, bild och video input/output.
- opencv_ml - Maskininlärningsmodeller (SVM, beslutsträd, stimulerat lärande, etc.).
- opencv_features2d - igenkänning och beskrivning av platta primitiver ( SURF, FAST och andra, inklusive ett specialiserat ramverk).
- opencv_video - rörelseanalys och objektspårning ( optiskt flöde , rörelsemönster, bakgrundseliminering).
- opencv_objdetect - objektdetektering i bilden (ansiktsdetektering med Viola-Jones-algoritmen , HOG-människors igenkänning, etc.).
- opencv_calib3d - Kamerakalibrering, stereomatchningssökning och 3D-databehandlingselement.
- opencv_flann - snabba närmaste grannars bibliotek (FLANN 1.5) och OpenCV-omslag.
- opencv_contrib - medföljande kod, ännu inte redo att användas.
- opencv_legacy är äldre kod, sparad för bakåtkompatibilitet.
- opencv_gpu - acceleration av vissa OpenCV-funktioner på grund av CUDA , skapad med stöd av NVidia .
Programmeringsspråk
OpenCV är skrivet i C++ som dess huvudgränssnitt, men med partiell användning av C -gränssnittet . Alla nya utvecklingar och algoritmer visas i C++-gränssnittet. Python , Java och MATLAB /OCTAVE stöds (t.ex. OpenCV cv.line [8] , OpenCV cv2.cvtcolor [9] , OpenCV cv2.circle [10] metoder ). API:et för dessa gränssnitt finns i onlinedokumentationen [11] .
Anteckningar
- ↑ Releaser . Hämtad 20 september 2019. Arkiverad från originalet 29 augusti 2019. (obestämd)
- ↑ Bradsky G., Kaehler A. Learning OpenCV Arkiverad 28 december 2008 på Wayback Machine - O'Reilly, 2008. - C. 1 - ISBN 978-0-596-51613-0
- ↑ OpenCV-ändringsloggar: http://code.opencv.org/projects/opencv/wiki/ChangeLog Arkiverad från originalet den 15 januari 2013.
- ↑ OpenCV Developer Site: http://code.opencv.org Arkiverad 13 januari 2013.
- ↑ Intel förvärvar datorvision för IOT, bilar ? . Intel Newsroom . Hämtad: 19 augusti 2022. (obestämd)
- ↑ East-West Digital News. Intel förvärvar det ryska datorvisionsföretaget Itseez ? (31 maj 2016). Hämtad: 19 augusti 2022. (obestämd)
- ↑ Itseez-blogg Hur vi porterade OpenCV till WindowsRT Arkiverad 8 februari 2014.
- ↑ OpenCV cv.line (11 oktober 2021). Hämtad 12 oktober 2021. Arkiverad från originalet 27 oktober 2021. (obestämd)
- ↑ OpenCV cv2.cvtcolor (11 oktober 2021). Hämtad 12 oktober 2021. Arkiverad från originalet 27 oktober 2021. (obestämd)
- ↑ OpenCV cv2.circle (11 oktober 2021). Hämtad 12 oktober 2021. Arkiverad från originalet 27 oktober 2021. (obestämd)
- ↑ OpenCV-moduler (11 oktober 2021). Hämtad 12 oktober 2021. Arkiverad från originalet 19 oktober 2021. (obestämd)
Litteratur
- Kaler A., Bradsky G. Learning OpenCV 3 = Learning OpenCV 3. - M. : DMK-Press, 2017. - 826 sid. - ISBN 978-5-97060-471-7 .
- Bueno, Suarez, Espinosa. Bildbehandling med OpenCV = Lär dig bildbehandling med OpenCV. - M. : DMK-Press, 2016. - 210 sid. - ISBN 978-5-97060-387-1 .
- Prokhorenok N. OpenCV och Java. Bildbehandling och datorseende. - St Petersburg. : BHV-Petersburg , 2018. - 320 sid. — ISBN 978-5-9775-3955-5 .
Länkar