
W tym poście, przedstawimy krok po kroku instrukcje jak zainstalować OpenCV 3 (C++ i Python) na Windowsie.
Jeśli chcesz zainstalować OpenCV 4 ze źródła, sprawdź ten tutorial: Install OpenCV from source on Windows
Użyliśmy Windows Power Shell do uruchamiania komend. Alternatywnie, możesz użyć wiersza poleceń too.
Krok 1: Zainstaluj Visual Studio
Ściągnij i zainstaluj Visual Studio 2015 community edition z https://www.visualstudio.com/vs/older-downloads/. Jeśli masz trudności z wyszukaniem Visual Studio 2015, użyj tego linku. Jeśli nie masz konta Visual Studio Dev Essentials, utwórz konto i zaloguj się. Uruchom instalator, wybierz „Custom” w „type of installation”.

W następnym ekranie w sekcji Programming Languages, wybierz Visual C++ i Python tools for Visual Studio. Kliknij next.

Teraz kliknij next. Zakończenie instalacji zajmie trochę czasu.

Ukończyliśmy instalację Visual Studio 2015.
Uwaga: Ponieważ Visual Studio 2017 nie kompiluje Dlib, przełączyliśmy się z powrotem na Visual Studio 2015.
Krok 2: Zainstaluj CMake
Pobierz i zainstaluj CMake v3.10.0 z https://cmake.org/download/.

Podczas instalacji wybierz „Add CMake do systemowej PATH”

Krok 3: Zainstaluj Anacondę (dystrybucję pythona)
Ściągnij i zainstaluj Anacondę w wersji 64-bitowej ze strony https://www.continuum.io/downloads.
Uwaga: Dlib dostarcza wstępnie zbudowane binaria dla Pythona 3, a nie Pythona 2. Budowanie wiązań Dliba do Pythona ze źródła jest kłopotliwe, ponieważ najpierw trzeba zbudować Boost.Python.
Z tego powodu zaleca się zainstalowanie Anacondy 3. W przypadku, gdy chcesz zbudować wiązania OpenCV dla Pythona 2, możesz zainstalować Anacondę 2, ale nie będziesz mógł używać Dliba w Pythonie 2.

Podczas instalacji Anacondy upewnij się, że zaznaczyłeś obie opcje:
- Dodaj Anacondę do mojej zmiennej środowiskowej PATH
- Zarejestruj Anacondę jako mojego domyślnego Pythona
.

Krok 4: Pobierz i rozpakuj opencv-3.3.1 i opencv_contrib-3.3.1
Przejdź do https://github.com/opencv/opencv/releases i pobierz opencv-3.3.1 source code zip

Go to https://github.com/opencv/opencv_contrib/releases and download opencv_contrib-3.3.1 source code zip

Wyodrębnij oba pliki zip. Chociaż możesz trzymać foldery opencv i opencv_contrib w dowolnym miejscu, sugeruję, że powinieneś trzymać oba w tym samym katalogu. Ja umieściłem te dwa foldery w katalogu „My Documents”.
UWAGA: Od tej pory będziemy odnosić się do ścieżki do folderu opencv-3.3.1 jako OPENCV_PATH. Na przykład, w moim przypadku OPENCV_PATH to C:/Users/Vaibhaw Chandel/Documents/opencv-3.3.1
W zależności od tego, gdzie trzymasz folder opencv-3.3.1, ścieżka ta może być inna.

Krok 5: Wygeneruj projekt Visual Studio za pomocą CMake
Uruchom Cmake, w polu „Where is the source code” wpisz wartość OPENCV_PATH (czyli ścieżkę do folderu opencv-3.3.1) oraz ścieżkę do katalogu build. Wybierzemy katalog build jako OPENCV_PATH/build

Teraz kliknij configure.
Zostaniesz zapytany o pozwolenie na utworzenie katalogu build. Kliknij Tak.


Gdy pojawi się monit o wybór kompilatora, wybierz Visual Studio 14 2015 Win64.
Kliknij finish i w następnym oknie zachowaj zaznaczone parametry domyślne.

Kliknij finish. Teraz CMake zajrzy do katalogów systemowych i wygeneruje makefile.
Krok 5.1: Dodatkowe zmiany w konfiguracji CMake
Zrobimy kilka zmian w domyślnej konfiguracji generowanej przez CMake. Kliknij na obrazki, aby zobaczyć większą wersję.
- Zaznacz „INSTALL_C_EXAMPLES” i „INSTALL_PYTHON_EXAMPLES”
- W fladze „OPENCV_EXTRA_MODULES_PATH” podaj ścieżkę do katalogu modułów w ramach opencv_contrib-3.3.1. W naszym przypadku trzymamy opencv_contrib-3.3.1 w folderze Documents, więc ścieżka to „C:/Users/Vaibhaw Chandel/Documents/opencv_contrib-3.3.1/modules”
Teraz kliknij configure, aby zastosować te zmiany.


- On Windows 10, moduł opencv_saliency nie kompiluje się. Więc wyłączymy go. Odznacz BUILD_opencv_saliency
Teraz kliknij na configure ponownie, aby uwzględnić tę zmianę.
Krok 5.2 : Dodaj ścieżki Pythona dla Python2 i Python3 (opcjonalnie)
Ta sekcja jest przeznaczona tylko dla osób, które chcą generować binaria OpenCV zarówno dla Python2 jak i Python 3. Jeśli zamierzasz używać tylko jednego Pythona, 2 lub 3, powinieneś pominąć tę sekcję.
CMake nie był w stanie znaleźć ścieżek do moich plików Pythona3.

Więc ręcznie dodałem ścieżki dla Pythona3.

Teraz kliknij ponownie configure. Po zakończeniu konfiguracji, wyszukaj opencv_python w pasku wyszukiwania, oba BUILD_opencv_python2 i BUILD_opencv_python3 zostaną automatycznie zaznaczone. Teraz mamy pewność, że binaria OpenCV zarówno dla Pythona2 jak i Pythona 3 zostaną wygenerowane po kompilacji.

Krok 5.3 : Wygeneruj pliki kompilacji
Jeśli CMake jest w stanie skonfigurować się bez żadnych błędów, powinien powiedzieć „Konfiguracja zakończona”.
Kliknij wygeneruj.
Uwaga: Kiedykolwiek dokonujesz jakichkolwiek zmian (zaznaczasz/odznaczasz pola lub zmieniasz ścieżkę) w konfiguracji wygenerowanej przez CMake, zawsze kliknij skonfiguruj i wygeneruj.
Krok 6: Skompiluj OpenCV
Krok 6.1:Skompiluj opencv w trybie Release
Otwórz Wiersz poleceń Windows (cmd).
Przejdź do katalogu OPENCV_PATH/build i uruchom to polecenie
cmake.exe --build . --config Release --target INSTALL
Krok 6.2 : Skompiluj opencv w trybie Debug
Otwórz CMake GUI ponownie, jak wspomniano w kroku 5.
- Wyszukaj „python” w polu wyszukiwania
- Zaznacz INSTALL_PYTHON_EXAMPLES, BUILD_opencv_python3 i BUILD_opencv_python2
- Kliknij configure
- Kliknij generate
Teraz w windowsowym wierszu poleceń
Przejdź do katalogu OPENCV_PATH/build i uruchom tę komendę
cmake.exe --build . --config Debug --target INSTALL
Teraz, gdy już skompilowaliśmy OpenCV, dowiemy się jak przetestować projekt OpenCV używając CMake.
Krok 7: Aktualizacja zmiennych środowiskowych systemu
Krok 7.1 : Aktualizacja zmiennej środowiskowej PATH
Po pierwsze dodajemy ścieżkę do plików dll OpenCV do naszej systemowej PATH. Wciśnij klawisz Windows Super, wyszukać „zmienne środowiskowe”

Kliknij „Zmienne środowiskowe” w oknie Właściwości systemu
Kliknij „Zmienne środowiskowe”. Variables w oknie System Properties

Pod zmiennymi systemowymi, Wybierz Path i kliknij edit

Kliknij New i podaj ścieżkę do OPENCV_PATH i kliknij Ok. W zależności od tego, gdzie trzymasz folder opencv-3.3.1 i jakiej wersji Visual Studio użyłeś do kompilacji OpenCV, ta ścieżka może być inna. W moim przypadku pełna ścieżka to:
C:\Users\Vaibhaw Chandel\Documents\opencv-3.3.1buildinstallx64vc14bin

Teraz kliknij Ok, aby zapisać. Nie zamykaj jeszcze okna Zmienne środowiskowe. W następnym kroku zaktualizujemy zmienną OPENCV_DIR.
Krok 7.2 : Zaktualizuj zmienną środowiskową użytkownika – OPENCV_DIR

Kliknij Nowy w „Zmiennych użytkownika” (górna połowa okna po prawej stronie). Pod nazwą zmiennej wpisz OPENCV_DIR a pod wartością OPENCV_PATHbuildinstall.
Jak widzisz w moim przypadku wartość zmiennej to:
C:\Users\Vaibhaw Chandel\Documents\opencv-3.3.1buildinstall
Ten katalog zawiera plik „OpenCVConfig.cmake”. Jest on używany przez CMake do konfiguracji zmiennych OpenCV_LIBS i OpenCV_INCLUDE_DIRS w celu wygenerowania plików projektu.

Teraz kliknij ok aby zapisać i zamknąć okno zmiennych środowiskowych.

Uwaga: Jeśli masz otwarte okno Command Prompt/Power Shell przed aktualizacją tych wartości, musisz zamknąć i ponownie otworzyć nowe okno Command Prompt/Power Shell.
Krok 8: Testowanie kodu C++
Pobierz ten kod redEyeRemover i rozpakuj go do folderu.
Teraz otwórz Windows Power Shell i przejdź do tego katalogu.
Utwórz plik o nazwie CMakeLists.txt i umieść w nim ten kod.
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} )
Ten plik zawiera informacje o ścieżkach include i bibliotekach opencv.

Teraz skompilujemy plik removeRedEyes.cpp i uruchomimy go.
# create build directorymkdir buildcd build# create Visual Studio project files using cmakecmake -G "Visual Studio 14 2015 Win64" ..

Na poniższym zrzucie ekranu widać, że CMake znalazł OpenCV na mojej maszynie.
Teraz zbudujemy naszą aplikację.
# build our applicationcmake --build . --config Release# once the build is complete, it will generate exe file in build\Release directory

Ponieważ nasz kod C++ zakłada, że pliki jpg znajdują się w bieżącym katalogu, przeniesiemy się do katalogu RedEyeRemover i stamtąd uruchomimy plik removeRedEyes.exe stamtąd.
cd ...\build\Release\removeRedEyes.exe

Po uruchomieniu aplikacji zobaczymy dwa okna z obrazkami, jedno z czerwonymi oczami, a drugie z czarnymi.
Krok 9: Testowanie kodu Pythona
Krok 9.1 : Szybkie sprawdzenie
Szybkim sposobem na sprawdzenie, czy OpenCV dla Pythona jest zainstalowany poprawnie, czy nie, jest zaimportowanie cv2 w interpreterze Pythona.
Otwórz wiersz poleceń w Windows, uruchom polecenie python. Spowoduje to otwarcie interpretera Pythona. Uruchom te dwie komendy
import cv2print(cv2.__version__)
Anaconda jest wyposażona w bogaty w funkcje interpreter Pythona o nazwie IPython. Przetestowałem te polecenia w IPythonie.

Jeśli OpenCV dla Pythona jest zainstalowany poprawnie, uruchomienie polecenia „import cv2” nie spowoduje żadnych błędów. Jeśli pojawi się jakikolwiek błąd, oznacza to, że instalacja nie powiodła się.
Krok 9.2 : Testowanie aplikacji redEyeRemover
Otwórz Windows Power Shell i przejdź do katalogu, w którym rozpakowałeś RedEyeRemover.zip
Następnie uruchom kod Pythona w następujący sposób:
python .\removeRedEyes.py

Jeśli program zostanie uruchomiony pomyślnie, zobaczysz dwa okna obrazu jedno z czerwonymi oczami drugie z czarnymi oczami.