Я пытаюсь собрать OpenCV 4.2 с CMake, чтобы использовать следующую функцию в моем коде Python, чтобы использовать графический процессор вместо процессора для вывода (с CUDA 10.2):
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
Однако я получил следующую ошибку:
cv::dnn::dnn4_v20191202::Net::Impl::setUpNet DNN module was not built with CUDA backend; switching to CPU
После быстрого поиска мне кажется, что мне нужно собрать openCV из исходного кода, используя CMake (3.17.0) вместо установки в pip.
Я сделал следующее на CMake (с OpenCV версии 4.2, а также с рекомендованной мне версией 3.4.2.17):
- Выберите исходный файл и папки сборки
- Введите значение для OPENCV_EXTRA_MODULES_PATH с путем к репозиторию opencv-contrib + / modules
- Нажмите configure
- Проверьте запись WITH_CUDA
- Нажмите configure
- Нажмите generate
Я получаю следующую ошибку, которая появляется сразу:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory C:/Users/samelson/opencv-3.4.2/modules/cudev
linked by target "opencv_test_cudev" in directory C:/Users/samelson/opencv-3.4.2/modules/cudev/test
linked by target ...
С тоннами похожих строк, начинающихся с "связанный с целью"
Я получаю ту же ошибку с двумя версиями OpenCV .
Любой намек на решение этой проблемы?