In dit bericht geven we stap voor stap instructies over hoe u OpenCV 3 (C++ en Python) kunt installeren op Windows.
Als u OpenCV 4 vanaf broncode wilt installeren, bekijk dan deze tutorial: Installeer OpenCV vanaf broncode op Windows
We hebben Windows Power Shell gebruikt om commando’s uit te voeren. Als alternatief kunt u ook de opdrachtprompt gebruiken.
Stap 1: Installeer Visual Studio
Download en installeer Visual Studio 2015 community edition van https://www.visualstudio.com/vs/older-downloads/. Als u het moeilijk vindt om naar Visual Studio 2015 te zoeken, gebruikt u deze link. Als u geen Visual Studio Dev Essentials account heeft, maak dan een account aan en log in. Start het installatieprogramma en selecteer “Aangepast” bij “type installatie”.
In het volgende scherm bij Programmeertalen selecteert u Visual C++ en Python tools voor Visual Studio. Klik op volgende.
Klik nu op volgende. Het zal enige tijd duren voordat de installatie is voltooid.
We zijn klaar met de installatie van Visual Studio 2015.
Opmerking: omdat Visual Studio 2017 er niet in slaagt Dlib te compileren, zijn we teruggeschakeld naar Visual Studio 2015.
Stap 2: CMake installeren
Download en installeer CMake v3.10.0 van https://cmake.org/download/.
Tijdens de installatie selecteer je “Voeg CMake toe aan systeem PATH”
Stap 3: Installeer Anaconda (een python-distributie)
Download en installeer Anaconda 64-bits versie van https://www.continuum.io/downloads.
Note: Dlib levert een voorgebouwde binary voor Python 3 en niet voor Python 2. Het bouwen van Dlib’s Python bindings vanaf broncode is een gedoe, omdat u eerst Boost.Python moet bouwen.
Daarom wordt geadviseerd om Anaconda 3 te installeren. In het geval dat u OpenCV’s Python bindings wilt bouwen voor Python 2, kunt u ook Anaconda 2 installeren, maar u zult dan niet in staat zijn om Dlib te gebruiken in Python 2.
Bij het installeren van Anaconda moet je beide opties aanvinken:
- Voeg Anaconda toe aan mijn PATH omgevingsvariabele
- Registreer Anaconda als mijn standaard Python
Stap 4: Download en pak opencv-3.3.1 en opencv_contrib-3.3.1
Ga naar https://github.com/opencv/opencv/releases en download opencv-3.3.1 broncode zip
Ga naar https://github.com/opencv/opencv_contrib/releases en download opencv_contrib-3.3.1 broncode zip
Uitpakken beide zip-bestanden. Hoewel u de mappen opencv en opencv_contrib overal kunt bewaren, stel ik voor dat u ze allebei in dezelfde map bewaart. Ik heb deze twee mappen in de map “Mijn Documenten” geplaatst.
NOOT : Van nu af aan zullen we het pad naar de map opencv-3.3.1 aanduiden als OPENCV_PATH. In mijn geval is OPENCV_PATH bijvoorbeeld C:/Users/Vaibhaw Chandel/Documents/opencv-3.3.1
Afhankelijk van waar u de map opencv-3.3.1 hebt bewaard, zou dit pad anders zijn.
Stap 5: Genereer Visual Studio project met CMake
Run Cmake, schrijf in het vak “Where is the source code” de waarde van OPENCV_PATH (dat is het pad naar de map opencv-3.3.1 map) en het pad naar de build directory. Wij kiezen de build-directory als OPENCV_PATH/build
Klik nu op configure.
U wordt om toestemming gevraagd om de build-map aan te maken. Klik op Ja.
Wanneer u wordt gevraagd om een compiler te selecteren, selecteer dan Visual Studio 14 2015 Win64.
Klik op voltooien en laat in het volgende venster de standaard parameters aangevinkt staan.
Klik op voltooien. Nu zal CMake in de systeemdirectories kijken en de makefiles genereren.
Stap 5.1: Extra wijzigingen in CMake config
We zullen een paar wijzigingen aanbrengen in de standaard configuratie die door CMake wordt gegenereerd. Klik op de plaatjes om een grotere versie te zien.
- Vink “INSTALL_C_EXAMPLES” en “INSTALL_PYTHON_EXAMPLES”
- In vlag “OPENCV_EXTRA_MODULES_PATH”, geef het pad van de modules directory binnen opencv_contrib-3.3.1. In ons geval hebben we opencv_contrib-3.3.1 in de map Documenten bewaard, dus het pad is “C:/Users/Vaibhaw Chandel/Documents/opencv_contrib-3.3.1/modules”
Klik nu op configure om deze wijzigingen toe te passen.
- Op Windows 10, lukt het bouwen van de module opencv_saliency niet. Daarom zullen we deze module uitschakelen. Schakel het selectievakje BUILD_opencv_saliency uit
Klik nu opnieuw op configure om deze wijziging op te nemen.
Stap 5.2 : Python-paden toevoegen voor zowel Python2 als Python3 (optioneel)
Dit gedeelte is alleen bedoeld voor mensen die OpenCV binary willen genereren voor zowel Python2 als Python 3. Als u slechts één Python gaat gebruiken, hetzij 2 of 3, moet u deze sectie overslaan.
CMake kon geen paden vinden voor mijn Python3-bestanden.
Daarom heb ik handmatig paden voor Python3 toegevoegd.
Nu klik je weer op configureren. Nadat het configureren klaar is, zoek opencv_python in de zoekbalk, zowel BUILD_opencv_python2 als BUILD_opencv_python3 zullen automatisch aangevinkt worden. Nu zijn we er zeker van dat OpenCV binaries voor zowel Python2 als Python 3 zullen worden gegenereerd na compilatie.
Step 5.3 : Genereer bouw bestanden
Als CMake in staat is om te configureren zonder fouten, zou het moeten zeggen “Configuratie gereed”.
Klik op genereren.
Note: Wanneer u veranderingen aanbrengt (check/uncheck boxen of pad veranderen) in de configuratie gegenereerd door CMake, klik dan altijd op configureren en genereren.
Stap 6: Compileer OpenCV
Stap 6.1:Compileer opencv in Release mode
Open Windows Opdrachtprompt (cmd).
Ga naar OPENCV_PATH/build directory en voer dit commando uit
cmake.exe --build . --config Release --target INSTALL
Stap 6.2 : Compileer opencv in Debug modus
Open CMake GUI opnieuw zoals vermeld in Stap 5.
- Zoek “python” in zoekvak
- Vink INSTALL_PYTHON_EXAMPLES uit, BUILD_opencv_python3 en BUILD_opencv_python2
- Klik op configure
- Klik op generate
Nu in windows command prompt
Ga naar OPENCV_PATH/build directory en voer dit commando uit
cmake.exe --build . --config Debug --target INSTALL
Nu we OpenCV gecompileerd hebben gaan we uitzoeken hoe we een OpenCV project kunnen testen met CMake.
Stap 7: Update Systeem Omgevingsvariabelen
Stap 7.1 : Update omgevingsvariabele – PATH
Voreerst voegen we het pad van OpenCV dll bestanden toe aan ons systeem PATH. Druk op de Windows Super toets, zoek naar “omgevingsvariabelen”
Klik op Omgevingsvariabelen in het venster Systeemeigenschappen
Variabelen in het venster Systeemeigenschappen
Onder Systeemvariabelen, Selecteer Pad en klik op Bewerken
Klik op Nieuw, en geef pad op naar OPENCV_PATH_build_installx64vc14 en klik op Ok. Afhankelijk van waar u de map opencv-3.3.1 hebt bewaard en welke versie van Visual Studio u hebt gebruikt om OpenCV te compileren, zou dit pad anders kunnen zijn. In mijn geval is het volledige pad:
C:\Users\Vaibhaw Chandel\Documents\opencv-3.3.1.0.1.1.1.2.
Klik nu op Ok om op te slaan. Sluit het venster Omgevingsvariabelen nog niet. We zullen de variabele OPENCV_DIR in de volgende stap bijwerken.
Stap 7.2 : Gebruikersomgevingsvariabele bijwerken – OPENCV_DIR
Klik op Nieuw in “Gebruikersvariabelen” (bovenste helft van rechter zijvenster). Schrijf onder variabelennaam OPENCV_DIR en onder variabelenwaarde OPENCV_PATH_build_install.
Zoals u kunt zien is in mijn geval de variabelenwaarde:
C:\Users\Vaibhaw Chandel\Documents\opencv-3.3.1:build_install
Deze directory bevat het bestand “OpenCVConfig.cmake”. Dit wordt door CMake gebruikt om OpenCV_LIBS en OpenCV_INCLUDE_DIRS variabelen te configureren om projectbestanden te genereren.
Klik nu op Ok om het venster met omgevingsvariabelen op te slaan en te sluiten.
Aantekening: als u een geopend opdrachtprompt-/Power Shell-venster hebt voordat deze waarden werden bijgewerkt, moet u dit sluiten en opnieuw een nieuw opdrachtprompt-/Power Shell-venster openen.
Stap 8: Testen C++ code
Download deze redEyeRemover code en pak het uit in een map.
Nou open Windows Power Shell en navigeer naar deze map.
Maak een bestand met de naam CMakeLists.txt en plaats deze code in dit bestand.
cmake_minimum_required(VERSION 2.8)project( redEyeRemover )find_package( OpenCV REQUIRED )include_directories( ${OpenCV_INCLUDE_DIRS} )add_executable( removeRedEyes removeRedEyes.cpp )target_link_libraries( removeRedEyes ${OpenCV_LIBS} )
Dit bestand bevat informatie over opencv’s include en bibliotheek paden.
Nu gaan we removeRedEyes.cpp compileren en uitvoeren.
# create build directorymkdir buildcd build# create Visual Studio project files using cmakecmake -G "Visual Studio 14 2015 Win64" ..
U kunt in het screenshot hieronder zien dat CMake de OpenCV op mijn machine heeft gevonden.
Nu gaan we onze applicatie bouwen.
# build our applicationcmake --build . --config Release# once the build is complete, it will generate exe file in build\Release directory
Omdat onze C++ code er vanuit gaat dat de jpg bestanden in de huidige directory staan, gaan we naar de directory RedEyeRemover en voeren van daaruit het bestand removeRedEyes.exe bestand van daaruit uitvoeren.
cd ...\build\Release\removeRedEyes.exe
Na het uitvoeren van de applicatie ziet u twee beeldvensters, een met rode ogen en een ander met zwarte ogen.
Stap 9: Python code testen
Stap 9.1 : Snelle controle
Een snelle manier om te controleren of OpenCV voor Python correct is geïnstalleerd, is door cv2 te importeren in python interpreter.
Open opdrachtprompt in Windows, en voer python commando uit. Dit zal de Python interpreter openen. Voer deze twee commando’s uit
import cv2print(cv2.__version__)
Anaconda komt met een feature-rijke Python interpreter genaamd IPython. Ik heb deze commando’s getest in IPython.
Als OpenCV voor Python correct is geïnstalleerd, zal het uitvoeren van het commando “import cv2” geen fouten geven. Als er wel een fout optreedt, betekent dit dat de installatie is mislukt.
Stap 9.2 : Testen van de RedEyeRemover applicatie
Open Windows Power Shell en navigeer naar de directory waar u RedEyeRemover.zip
U kunt nu de python code als volgt uitvoeren:
python .\removeRedEyes.py
Als het programma succesvol draait, zult u twee beeldvensters zien, een met rode ogen en een met zwarte ogen.