OpenCV (inglise Open Source Computer Vision) on avatud lähtekoodiga arvutinägemise ja masinõppimise tarkvara teek. OpenCV loodi eesmärgiga luua ühine infrastruktuur arvutinägemise rakendustele ja masintaju kiirendamiseks kaubanduses.[2]

OpenCV

Autor Intel Corporation, Willow Garage, Itseez
Esmaväljalase juuni 2000
Viimane väljalase 3.2 / 23. detsember 2016
Eelvaate väljalase 3.0.0 Beta / 11. november 2014[1]
Kirjutatud keeles C/C++, Python, Java, MATLAB
OS Android, Linux, MacOS, Windows [2]
Suurus ~200 MB
Litsents BSD-litsents
Veebisait opencv.org, https://sourceforge.net/projects/opencvlibrary/

Ajalugu muuda

OpenCV loomist alustas Intelis Gary Bradski 1999. aastal. Eesmärgiks oli luua võimsamaid arvuteid, mis kasutaks arvutinägemise tehnoloogiat. Vadim Pisarevsky ühines Bradskiga, et juhtida Vene Inteli OpenCV tarkvara meeskonda. Aja jooksul vahetas OpenCV meeskond ettevõtteid ja uurimisvaldkondi. Mitmed meeskonnaliikmed suundusid tööle robootika valdkonnas tegutsevatesse firmadesse.

Esimene alphaversioon OpenCV-st toodi avalikkuse ette konverentsil "IEEE Conference on Computer Vision and Pattern Recognition in 2000". Pärast seda, aastatel 2001 ja 2005, anti välja viis beetaversiooni. Versioon 1.0 lasti välja 19. oktoobril 2006 ja 2008. aasta keskpaigas saavutati korporatiivne toetus Willow Garage'ilt, mis lükkas hoo sisse aktiivsele tarkvaraarendusele. 1.1 versiooni tutvustusväljalase avalikustati juba 2008. aasta oktoobris.[3]

Teine suurim uuendus toimus 1. oktoobril 2009, kui mindi üle OpenCV versioonile 2.0. Uuendused, mis sellega kaasnesid olid C++ rakendusliides, uued funktsioonid ja soorituse kiirus tõus programmis. Praegused ametlikud väljalasked ilmuvad iga kuue kuu tagant[4] ja arendamine toimub Vene meeskonna poolt, keda toetavad erinevad äriettevõtted.

2012. augustil OpenCV toetamise võttis üle mittetulundusühing OpenCV.org, mis on ka nende ametlikuks veebileheks.

Kasutusvaldkonnad muuda

OpenCV-d rakendatakse valdkondades:

  • 2Ds ja 3Ds
  • kaameras liikumise kalkuleerimiseks (inglise Motion Estimation of a camera system (a.k.a. Ego-Motion estimation))
  • näotuvastuses ehk programm püüab aru saada, kas tegemist on näoga
  • viipetuvastuses ehk programm üritab saada aru, mis viibetega on tegu
  • inimese ja arvuti vahelises suhtluses ehk programm üritab aru saada, mida inimene püüab edasi anda arvutile
  • liikuvas robotis, liikumise kalkuleerimiseks ja objektide tuvastamiseks
  • liikumise tuvastuses, jälgib, kas liikumist toimub või mitte
  • objekti äratundmises, mis objekt ja kui kaugel objekt asub
  • segmenteerimisest ja tuvastuses
  • SfM (inglise Structure from motion)
  • liikumise jälgimises
  • liitreaalsuses, loob ruumi läbi programmi nähtavaid objekte, mis justkui oleksid päris

Toetamaks neid valdkondi, sisaldab OpenCV ka statistilist masinõppimise teeki, kuhu kuuluvad:

Programmeerimiskeel muuda

OpenCV on kirjutatud C++ programmeerimiskeeles ja selle peamine liidestus ongi C++-le. Teeki on võimalik kasutada ka Pythoni, Java ja MATLAB/OCTAVE programmeerimiskeeltes, lisaks on teegi kasutamiseks mähikud (wrappers) näiteks keeltes C#, Perl, Ch, Haskell ja Ruby. Rakendusliides on kirjeldatud projekti dokumentatsioonis.[5]

OpenCV-d arendatakse C++-is, teegi funktsionaalsus ja algoritmid uuenevad esmajärgus C++-i originaalteegis.

Operatsioonisüsteem muuda

OpenCV töötab mitmel platvormil. Lauaarvutitel: Windows, Linux, OS X, FreeBSD, OpenBSD. Mobiilil: Android, iOS, Maemo[6], BlackBerry 10[7]. Kasutajal on võimalus saada ametlikud väljalasked SourceForge'ist või GitHubist[8]. OpenCV kasutab CMake'i tarkvara.

Viited muuda

  1. "DOWNLOADS" (inglise keeles). 23.12.2016. Vaadatud 03.01.2017.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  2. 2,0 2,1 "About" (inglise keeles). Originaali arhiivikoopia seisuga 22.11.2016. Vaadatud 03.01.2017.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  3. "OpenCV" (inglise keeles). Originaali arhiivikoopia seisuga 2.02.2017. Vaadatud 03.01.2017.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  4. "OpenCV Change Logs" (inglise keeles). Originaali arhiivikoopia seisuga 15.01.2013. Vaadatud 03.01.2017.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  5. "OpenCV C interface". Vaadatud 03.01.2017.
  6. "Summary". Originaali arhiivikoopia seisuga 17.03.2016. Vaadatud 03.01.2017.
  7. "blackberry/OpenCV". Vaadatud 03.01.2017.
  8. "opencv/opencv". Vaadatud 03.01.2017.

Välislingid muuda