Сборка opencv 4.1.0-pre для Python3 в Windows 7 x64 с использованием CMake и Visual Studio

Пост в некоторых местах повторяет ранее опубликованный пост https://riptutorial.com/ru/opencv/topic/6100/genere-y-compile-opencv-3-1-0-dev-para-python2-en-windows-usando-cmake-y-visual-studio.

Однако, существенными отличиями между постами в том, что:
— здесь устанавливается более свежая версия opencv — 4.1.0-pre
— сборка ведется для python 3.6.3
— решены проблемы с установкой таким модулей как SURF и SIFT, про которые автор поста не рассказывает.

Понадобятся:
— OpenCV

— opencv_contrib
— CMake
Visual Studio любой версии. Я использовал Microsoft Visual Studio 2017.
— Numpy. Установить командой в cmd — pip install numpy

качаем OpenCV с github. После распаковки zip архива, заходим в папку и создаем пустую папку build.

Открываем CMake и прописываем пути к build и source. Source в данном случае это распакованная папка с github с opencv, a build пустая папка:

Нажимаем в Cmake Configure и указываем компилятор Visual Studio и версию Windows:

*Если с опцией x64 не получается собрать, можно поставить Win32.

Далее в Cmake в сроке search вбиваем OPENCV_EXTRA_MODULES_PATH и прописываем путь к скачанным ранее дополнительным модулям из архива opencv_contrib, например такой: D:/torrents/—/opencv_contrib-master/opencv_contrib-master/modules
Обратите внимание, что слэши в пути прямые !

Теперь, чтобы получить возможность в дальнейшем использовать SIFT и SURF в opencv, и не получать ошибок такого рода:

Надо включить модули в сборку. В строке Cmake Search вводим OPENCV_ENABLE_NONFREE и ставим галочку, нажав пробел на клавиатуре. После этого, снова нажимаем Configure в Cmake. Далее, нажимаем Generate.
Если все прошло без ошибок, то проект надо открыть в Microsoft Vision Studio, нажав в Cmake клавишу Open project:

Далее надо дождаться, пока проект загрузится в Microsoft Vision Studi. Далее на панели справа выбрать три опции:

А сверхувыбрать Release вместо Debug:

Далее, во вкладке Сборка — Собрать выделенный фрагмент. Начнется сборка, которая может занять по времени от получаса до часа-полтора.

Найдите файл cv2.pyd и скопируйте его в каталог site-packages в папку, где установлен Python3. cv2.pyd должен присутствовать в папке, где собирали open cv \build\lib\Release . И еще надо скопировать только файлы .dll внутри \build\bin\Release в родительский каталог с Python3 прямо в корень.

После этого, opencv должен работать в python, как и модули:

admin

3 комментария к “Сборка opencv 4.1.0-pre для Python3 в Windows 7 x64 с использованием CMake и Visual Studio”

Вы можетеоставить отзыв или Обратную ссылку эта запись.
  1. Gergo - 13.04.2019 Ответить

    Hi, I followed this guide, but I stuck at the last step, can you help me with where do I need to copy the dll files?

    • admin - 14.04.2019 Ответить

      hi. you should put them on python main directory. in my case — «C:\python3». just put them there.

  2. Gergo - 15.04.2019 Ответить

    Selecting win32 in CMake and after building, it is working now. Thank you very much!

Оставить отклик

Ваш адрес эл.почты не будет опубликован.