【发布时间】:2020-09-29 11:33:55
【问题描述】:
我正在尝试在 Ubuntu 18.04 上使用 cuda 11 构建 openCV 4.0.0。 以下是我的cmakefile
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_C_COMPILER=/usr/bin/gcc-7 \
-D CMAKE_INSTALL_PREFIX=/usr/local/OpenCV-4.0.0 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D WITH_TBB=ON \
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=7.5 \
-D BUILD_opencv_cudacodec=OFF \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_PYTHON3_INSTALL_PATH=~/.virtualenvs/cv/lib/python3.6/site-packages \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.0.0/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
我收到以下错误
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_nppicom_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory /home/ali/opencv_contrib-4.0.0/modules/cudev
linked by target "opencv_cudev" in directory /home/ali/opencv_contrib-4.0.0/modules/cudev
linked by target "opencv_test_cudev" in directory /home/ali/opencv_contrib-4.0.0/modules/cudev/test
linked by target "opencv_test_core" in directory /home/ali/opencv-4.0.0/modules/core
linked by target "opencv_core" in directory /home/ali/opencv-4.0.0/modules/core
linked by target "opencv_core" in directory /home/ali/opencv-4.0.0/modules/core
linked by target "opencv_perf_core" in directory /home/ali/opencv-4.0.0/modules/core
linked by target "opencv_test_cudaarithm" in directory /home/ali/opencv_contrib-4.0.0/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /home/ali/opencv_contrib-4.0.0/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /home/ali/opencv_contrib-4.0.0/modules/cudaarithm
linked by target "opencv_perf_cudaarithm" in directory /home/ali/opencv_contrib-4.0.0/modules/cudaarithm
linked by target "opencv_flann" in directory /home/ali/opencv-4.0.0/modules/flann
linked by target "opencv_flann" in directory /home/ali/opencv-4.0.0/modules/flann
linked by target "opencv_test_flann" in directory /home/ali/opencv-4.0.0/modules/flann
linked by target "opencv_test_hdf" in directory /home/ali/opencv_contrib-4.0.0/modules/hdf
linked by target "opencv_hdf" in directory /home/ali/opencv_contrib-4.0.0/modules/hdf
linked by target "opencv_hdf" in directory /home/ali/opencv_contrib-4.0.0/modules/hdf
linked by target "opencv_test_imgproc" in directory /home/ali/opencv-4.0.0/modules/imgproc
linked by target "opencv_imgproc" in directory /home/ali/opencv-4.0.0/modules/imgproc
linked by target "opencv_imgproc" in directory /home/ali/opencv-4.0.0/modules/imgproc
linked by target "opencv_perf_imgproc" in directory /home/ali/opencv-4.0.0/modules/imgproc
我测试了 cuda/cudnn 示例,它们运行良好。 任何帮助将不胜感激。
【问题讨论】:
-
很有可能 CMake 和您使用的 makefile 以及 opencv 实际上都没有 CUDA 11 支持。 4天前才发布
-
根据NPP documentation:请注意,NPP 自 NPP 11.0 起已弃用 nppicom JPEG 压缩库,请改用 NVJPEG 库。 所以 OpenCV 必须将其 CMakeLists 更新为支持这个改变。
-
@talonmies 现在我安装了 cuda-11.0。当我制作 opencv 时,make part 也检测到了我的 CUDA-11.0。但我仍然遇到与此人类似的错误。这些错误仅仅是因为 opencv4.x.x 与 CUDA-11.0 不兼容,还是还有其他原因?
-
@Ali 你能找到解决问题的方法吗?
-
@Johny 你能否详细说明一下。我是否必须卸载 NPP 并安装 NVJPEG。如果是,那么如何。以及我将如何在 opencv 的 Cmakelists 中进行更改。