OpenCV Python с CUDA на Windows: сбой загрузки DLL - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь заставить привязки OpenCV python работать с CUDA, но когда я запускаю

import cv2

, я получаю следующую ошибку:

OpenCV loader: os.name="nt"  platform.system()="Windows"
OpenCV loader: loading config: C:\opencv\build\python_loader\cv2\config.py
OpenCV loader: loading config: C:\opencv\build\python_loader\cv2\config-3.8.py
OpenCV loader: PYTHON_EXTENSIONS_PATHS=['C:/opencv/build/lib/python3/Release']
OpenCV loader: BINARIES_PATHS=['C:/opencv/build/bin/Release']
OpenCV loader: PATH=C:/opencv/build/bin/Release;C:\Program Files\Python38\Scripts\;C:\Program Files\Python38\;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\CCM;C:\WINDOWS\CCM;C:\Perl64\c\bin;C:\Perl64\perl\site\bin;C:\Perl64\perl\bin;C:\WINDOWS\CCM;C:\WINDOWS\CCM;C:\WINDOWS\CCM;C:\Program Files\PuTTY\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Yarn\bin\;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.5.0\;C:\opencv\build\install\x64\vc16\bin\;C:\Users\md249\AppData\Local\Microsoft\WindowsApps;
OpenCV loader: replacing cv2 module
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\opencv\build\python_loader\cv2\__init__.py", line 96, in <module>
    bootstrap()
  File "C:\opencv\build\python_loader\cv2\__init__.py", line 86, in bootstrap
    import cv2
ImportError: DLL load failed while importing cv2: The specified module could not be found.

У меня есть следующее Переменные среды установлены:

OPENCV_DIR: C:\opencv\build\
PATH: $PATH;C:\opencv\build\install\x64\vc16\bin\;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin

Похоже, что OpenCV создает двоичные файлы для нескольких разных каталогов по непонятным мне причинам, поэтому я не уверен, куда указывать PATH и OPENCV_DIR.

Запуск Dependency Walker значение cv2.cp38-win_amd64.pyd не указывает на отсутствующие зависимости от OpenCV или CUDA.

.pyd динамически загружает какие-либо другие зависимости, которые может не отловить Dependency Walker? Приложения C ++ прекрасно загружают OpenCV, поэтому я думаю, что проблема связана с тем, где расширение .pyd ищет зависимости.

Надеюсь, я включил всю необходимую информацию.

1 Ответ

0 голосов
/ 14 февраля 2020

Вероятно, это потому, что вы не установили OpenCV, вы его скачали, если вы не хотите тратить время на настройку дополнительного пути, чтобы убедиться, что python находит нужный пакет opencv, который вам просто нужно установить, используя 'pip':

pip install opencv-contrib-python

Вероятно, это решит вашу проблему, и программное обеспечение C ++ может по-прежнему использовать загруженную версию без конфликтов.

Ссылка на установку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...