- Esittely ja yleiskatsaus
- Asennus Windowsissa (valmiit binäärit)
- OpenCV:n ja Pythonin lataaminen
- Moduuliriippuvuuksien asentaminen
- Python-OpenCV-moduulin asentaminen
- Asennus Linuxissa (kääntäminen lähdekoodista)
- OpenCV:n lataaminen
- Kehitysriippuvuuksien asentaminen
- OpenCV:n kääntäminen ja asentaminen
- Asennuksen tarkistaminen
- Linuxin rakentamisongelmat
- Undefined AV_CODEC_ID_... in ffmpeg_codecs.hpp
Esittely ja yleiskatsaus
Tämä dokumentti sisältää ohjeet OpenCV:n uusimman version (versio 3) ja Python-sidosten asentamiseen ja siirtymiseen. Joidenkin API-muutosten lisäksi Python-rajapintaan on tehty muutoksia (esim. cv2.cv
:n poistaminen), jotka saattavat vaatia muutoksia olemassa olevaan koodiin, jotta se toimisi cv2
-moduulin uuden version kanssa. Asennuksen jälkeen katso seuraavalta sivulta, Siirtyminen & Muutokset, lisätietoja moduuliin tehdyistä muutoksista ja apua olemassa olevan Python-koodin siirtämiseen uuteen versioon.
Tällä sivulla käsitellään OpenCV 3:n asentamista Windowsiin (käyttäen valmiita binäärejä) ja Linuxiin (käännettynä lähdekoodista), mukaan lukien Python-rajapinta (cv2
-moduuli). OpenCV:n voi ladata viralliselta OpenCV-sivustolta. Huomaa, että tämä opas on kirjoitettu OpenCV:n versioon 3.1.0 perustuen. Asennuksen jälkeen on suositeltavaa tarkistaa, mitä OpenCV-versiota Python käyttää:
import cv2print cv2.__version__# Should print 3.0.0-rc1 or newer.
Huomaa, että vaikka OpenCV 3 on uusin versio, moduulin nimi on sopimuksen mukaan edelleen cv2
.
Asennus Windowsissa (valmiit binäärit)
Esivalmistettujen binääritiedostojen käyttäminen on nopein tapa saada Python OpenCV-ympäristö toimimaan Windowsissa. Tällä hetkellä vain Python 2 -versio cv2
-moduulista on rakennettu ja sisällytetty uusimpaan Windows-versioon. Tuki Python 3:lle (samoin kuin muiden ei-standardien ominaisuuksien/moduulien lisääminen) edellyttää kääntämistä lähdekoodista – katso lisätietoja OpenCV:n virallisesta dokumentaatiosta.
OpenCV:n ja Pythonin lataaminen
Aloittaaksesi lataa OpenCV for Windows (versio 3.1, opencv-3.1.0.exe
) ja pura se haluamaasi hakemistoon. Windows-rakennus sisältää sekä 32-bittisen että 64-bittisen moduulin Python 2.7:lle.
Voit ennen jatkamista varmistaa, että sinulla on toimiva Python 2.7 -asennus, jonka voit ladata Pythonin verkkosivuilta. Tämä opas testattiin käyttäen Python 2.7.9:ää (x86-asennusohjelma / x64-asennusohjelma). Asennuksen yhteydessä on suositeltavaa, että annat asennusohjelman lisätä Pythonin PATH
-ympäristömuuttujaan, jotta voit suorittaa python
ja pip
komentoriviltä.
Moduuliriippuvuuksien asentaminen
Pythonin OpenCV cv2
-moduuli vaatii sekä NumPy
– että SciPy
-pinon. Saadaksesi tämän, varmista ensin, että sinulla on toimiva python
-ympäristö ja että pip
on asennettu (jos ei ole, käytä yllä olevia linkkejä ja varmista, että Python-kansio on PATH
-muuttujassasi).
Christoph Gohlke tarjoaa tällä hetkellä joitakin (epävirallisia) valmiita Python-paketteja Windowsille, mukaan lukien NumPy ja SciPy. Lataa uusimmat vakaat versiot NumPy:stä ja SciPy:stä ja asenna ne kutsumalla pip install .whl
komentoriviltä. Huomaa, että sinun kannattaa ladata Python-ympäristöäsi (tässä tapauksessa 2.7) ja sanan pituutta vastaava versio. Esimerkiksi 32-bittisissä järjestelmissä/tulkissa:
pip install numpy-1.9.2+mkl-cp27-none-win32.whlpip install scipy-0.15.1-cp27-none-win32.whl
Ja 64-bittisissä järjestelmissä/tulkissa:
pip install numpy-1.9.2+mkl-cp27-none-win_amd64.whlpip install scipy-0.15.1-cp27-none-win_amd64.whl
Asennuksen jälkeen sinun pitäisi pystyä ajamaan import numpy
ja import scipy
Python-tulkista tarkistaaksesi, että moduulit asennettiin oikein. Voit tarkistaa, mitkä NumPy- ja SciPy-versiot on asennettu kohdista numpy.__version__
ja scipy.__version__
.
Python-OpenCV-moduulin asentaminen
Viimeiseksi meidän on kopioitava OpenCV-moduuli paikallisiin Python-paketteihin. Siirry opencv-3.0.0-rc1.exe
:stä puretuista tiedostoista kansioon opencv\build\python.7\
ja avaa joko kansio x86\
(32-bittisille) tai x64\
(64-bittisille). Kummassakin on tiedosto cv2.pyd
.
Kopioi cv2.pyd
suoraan Python-asennuksesi Lib\site-packages\
-hakemistoon. Useimmilla käyttäjillä tämä löytyy osoitteesta:
C:\Python27\Lib\site-packages
Varmista lopuksi, että OpenCV:n .dll-tiedostot ovat jossakin järjestelmäsi %PATH%
:ssä, erityisesti videotiedostojen lataamiseen tarvittava opencv_ffmpeg310.dll
-tiedosto (tai opencv_ffmpeg310_64.dll
64-bittisissä järjestelmissä opencv_ffmpeg310_64.dll
).
Jatka Asennuksen tarkistaminen -osioon varmistaaksesi, että kaikki on asennettu oikein ja että OpenCV:n uusi versio on käytössä. Muista myös tutustua seuraavaan sivuun, Siirtyminen & Muutokset, saadaksesi lisätietoja moduuliin tehdyistä muutoksista ja olemassa olevan koodin päivittämisestä.
Asennus Linuxissa (kääntäminen lähdekoodista)
Vaikka tämä opas on kirjoitettu Ubuntu 12.04/14.04:lle ja muille muunnoksille (esim. Xubuntu/Lubuntu/Kubuntu), prosessin pitäisi olla pitkälti sama myös muissa versioissa, samoin kuin samankaltaisissa Debianin kaltaisissa Linux-jakeluissa. Kiinnitä huomiota jokaisen komennon tulosteeseen varmistaaksesi, että kaikki toimi oikein, ja jos rakentamisprosessin aikana ilmenee ongelmia, katso tämän dokumentin lopusta mahdolliset lieventämiskeinot
OpenCV:n lataaminen
Aloittaaksesi lataa OpenCV for Linux (versio 3.1.0, opencv-3.1.0.zip
) ja pura se haluamaasi hakemistoon (esim. ~/opencv-src
). Luo build
-kansio sen kansion sisälle, johon arkisto purettiin (hakemisto, joka sisältää CMakeLists.txt
-tiedoston), ja avaa siellä terminaali-istunto. Esimerkiksi:
# Assuming the files were extracted to ~/opencv-src/...cd ~/opencv-srcmkdir buildcd build
Suorita kaikki seuraavat komennot itse build
-alakansiosta, jolloin käännettävät tiedostot sijoitetaan sinne.
Kehitysriippuvuuksien asentaminen
OpenCV:n kääntämiseksi on varmistettava, että tarvittavat riippuvuudet ovat saatavilla, mukaan lukien itse rakennustyökalut. Voimme hankkia tarvittavat käyttämällä apt
Ubuntussa, mutta varmista ensin, että pakettiluettelo on ajan tasalla ajamalla apt-get update
. Suorita seuraavaksi seuraavat komennot tarvittavien pakettien hankkimiseksi (alla on yksirivinen luettelo kaikista):
sudo apt-get install cmake build-essential pkg-configsudo apt-get install libgtk2.0-dev libtbb-devsudo apt-get install python-dev python-numpy python-scipysudo apt-get install libjasper-dev libjpeg-dev libpng-dev libtiff-dev sudo apt-get install libavcodec-dev libavutil-dev libavformat-dev libswscale-devsudo apt-get install libdc1394-22-dev libv4l-dev
Yksirivisenä:
sudo apt-get install cmake build-essential pkg-config libgtk2.0-dev libtbb-dev python-dev python-numpy python-scipy libjasper-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libdc1394-22-dev libv4l-dev
Huomaa, että OpenCV:n lisämoduuleja/ominaisuuksia (esim. GPU/CUDA-tuki tai Python 3 -moduuli) varten sinun on ladattava myös kyseisten kirjastojen vastaavat kehitys-/SDK-paketit. Yllä luetellut riippuvuudet kattavat vain itse OpenCV:n ja Python 2.7 cv2
-moduulin rakentamisen.
OpenCV:n kääntäminen ja asentaminen
Nyt kun meillä on vaaditut rakentamisriippuvuudet, suorita ajo cmake
(jälleen kerran luomastamme build/
-hakemistosta) luodaksesi Makefile-tiedoston OpenCV:n rakentamista varten:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
Jos virheitä ilmaantuu, varmistu siitä, että olet imuroinut kaikki vaadittavat paketit – ulostulon avulla voit jäljittää, mitkä paketit puuttuvat. Varmistaaksesi, että Python-moduuli rakennetaan, sinun pitäisi nähdä python2
konfiguroitujen moduulien luettelossa suoritettuasi komennon cmake
:
-- Linker flags (Release):-- Linker flags (Debug):-- Precompiled headers: YES---- OpenCV modules:-- To be built: hal core flann imgproc ml python2
Jos et näe python2
-moduulia listattuna “Rakennetaan”-luettelossa, tarkista, että sinulla on asennettuna oikeat Python-kehityspaketit, poista kaikki tiedostot kansiosta build/
ja yritä suorittaa komento cmake
uudelleen.
Voit nyt rakentaa OpenCV:n (ja Python-moduulin) komennolla make
ja asentaa sen järjestelmäämme:
makesudo make install
Varmista, että rakentaminen onnistui make
:n kutsumisen jälkeen, ja tarkista tuloste ennen asennusta. Jos törmäät rakentamisongelmiin/virheisiin, varmista jälleen, että sinulla on kaikki tarvittavat riippuvuudet ja otsikkotiedostot järjestelmässäsi. Jos OpenCV:ssä itsessään on todellisia rakentamisongelmia, katso alla olevasta Linuxin rakentamisongelmat -osiosta joitakin mahdollisia kiertoteitä.
Asennettaessa OpenCV 3.0-rc1:tä Ubuntu 12.04:ään törmäsin rakentamisvirheisiin, jotka liittyivät joihinkin puuttuviin codec #define
-merkintöihin. Kuten mainittu, vaiheet tähän ovat yksityiskohtaisesti alla, jos törmäät samaan ongelmaan (ongelman pitäisi olla ratkaistu versiossa 3.1.0 tai uudemmissa). Ubuntu 14.04:n ja sitä uudempien pitäisi rakentaa onnistuneesti ilman muutoksia.
Jos rakentaminen onnistui, mutta et voi import cv2
Python-komentotulkista ajettuasi make install
, voit asentaa moduulin manuaalisesti kopioimalla juuri rakentamamme cv2.so
-tiedoston build/lib/
-kansiosta /usr/local/lib/python2.7/dist-packages/
-kansioon. build/
-kansiosta tämä voidaan tehdä seuraavasti:
sudo cp lib/cv2.so /usr/local/lib/python2.7/dist-packages/
Tämän vaiheen jälkeen cv2
-moduuli on asennettu, ja se voidaan nyt tuoda Python-ympäristöösi. Jatka asennuksen tarkistaminen -osioon varmistaaksesi, että kaikki asennettiin oikein ja mikä tärkeintä, että Python käyttää oikeaa OpenCV-versiota. Voit myös tarkistaa seuraavalta sivulta, Migration & Changes, lisätietoja cv2
-moduulin muutoksista ja siitä, mitä muutoksia olemassa olevaan koodiin on tehtävä, jotta se toimisi päivitetyn moduulin kanssa.
Asennuksen tarkistaminen
Kuten aiemmin mainittiin, voit tarkistaa, että cv2
-moduuli on asennettu oikein, suorittamalla seuraavan komennon Pythonin komentotulkissa:
import cv2print cv2.__version__
Jos tulostuu oikea versio-merkkijono (3.0.0-rc1
tai uudempi, jos olet käyttänyt uudempaa versiota), kaikki on asennettu tässä vaiheessa oikein!
Huomaa, että itse cv2
-moduulihierarkiaan on tehty joitain suuria muutoksia, ja OpenCV 2.4.x:llä kirjoitetut Python-ohjelmat eivät ehkä enää toimi oikein. Katso seuraavasta osiosta, Siirtyminen & Muutokset, lisätietoja muutoksista ja siitä, miten ohjelmia voi muokata muutosten huomioon ottamiseksi.
Linuxin rakentamisongelmat
Joissain järjestelmissä saatat törmätä ongelmiin itse OpenCV:n kääntämisessä, riippuen siitä, mitä paketteja on saatavilla. Jos oikeat otsikkotiedostot ovat saatavilla, mutta rakentamisongelmia ilmenee silti, yritä katsoa, onko ongelmaan olemassa alla olevia kiertoteitä.
Undefined AV_CODEC_ID_...
in ffmpeg_codecs.hpp
Jos törmäät ongelmaan, jossa rakentamisvirheet johtuvat siitä, että tiettyjä koodekkeja ei ole määritetty, voit ladata täältä uudemman version ffmpeg_codecs.hpp
:stä ja korvata sen lataamassasi/poimimassasi lähdekoodissa kansiossa modules/videoio/src/
.
Vaihtoehtoisesti voit ilmoittaa ne manuaalisesti muokkaamalla itse ffmpeg_codecs.hpp
-tiedostoa lisäämällä puuttuvan koodekkimerkinnän H263I
ja nimeämällä WNV
uudelleen WNV1
:ksi. Näet, mitä muutoksia on tehtävä katsomalla tätä toimitusta OpenCV:n GitHub-projektista.
Kun tiedosto on päivitetty, voit kutsua make
uudelleen build/
-kansiosta, ja OpenCV:n pitäisi nyt lopettaa kääntäminen ilman virheitä.