vs2017+cuda10..02+cudnn7.6.5+opencv4.4+opencv_contribute
参考:https://blog.csdn.net/qq_23149979/article/details/107244405
注意:由于使用vs2015+cuda10.0+opencv4.4+contribute编译失败,所以最好使用vs2017+cuda10.2来编译
一:相关文件下载:
- 编译环境:vs2017: https://visualstudio.microsoft.com/zh-hans/
- 编译器:cmake https://cmake.org/
- Opencv:https://sourceforge.net/projects/opencvlibrary/files/4.4.0/opencv-4.4.0-vc14_vc15.exe/download
- Opencv_contribute下载:https://github.com/opencv/opencv_contrib
- Cuda:https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exenetwork
- Cudnn 下载:https://developer.nvidia.com/rdp/cudnn-download
二:CMake设置

加载源文件:如:
- E:/opencv/OpenCV4.4.0/opencv/sources
- 加载编译后放入地址:E:/opencv/OpenCV4.4.0/opencv/newbuild

选择vs2017, x64 如图所示:
点击finish进行config
其中在configure 时在选择
BUILD_CUDA_STUB、OPENCV_DNN_CUDNN、WITH_CUDA、BUILD_opencv_world 选择
![]()


添加opencv_contribute模块,如上图所示:
勾选OPENCV_ENABLE_NOFREE模块,可以编译contribute模块
中间需要多次点击”configure“。
(1) BUILD_opencv_world
勾选 BUILD_opencv_world:此项的目的是生成一个dll文件,比如:opencv_world430d.dll。
(2) OPENCV_DNN_CUDA
勾选OPENCV_DNN_CUDA。
(3) OPENCV_ENABLE_NOFREE
勾选 OPENCV_ENABLE_NOFREE:此项目的是编译contrib模块。
(4) OPENCV_EXTRA_MODULES_PATH
设置OPENCV_EXTRA_MODULES_PATH:设置contrib模块的目录:(注意一定到modules这个目录)。
(5) WITH_CUDA
勾选WITH_CUDA。
(6) CUDA_ARCH_BIN
将该项中版本小于5.3的都去掉。如果查不到此项,请configure一次。
(7) WITH_CUDNN
勾选 WITH_CUDNN。如果查不到此项,请configure一次。
(8) CUDA_FAST_MATH
勾选CUDA_FAST_MATH。
(9) python相关组件
如果不使用python就将如下python对应项的”√“去掉。(因版本不同,组件名称不一定一样,请根据实际选择)
(10) 其他
其他的选项就根据自己喜好设定,比如test模块等。
在configure后报错:
一、ippicv_2020_win_intel64_20191018_general.zip下载失败
进入opencv4.3.0\sources\3rdparty\ippicv目录
将 ippicv.cmake 第47行的https://raw.githubusercontent.com
修改为:https://raw.staticdn.net
二、opencv_videoio_ffmpeg_64.dll、opencv_videoio_ffmpeg.dll下载失败
进入opencv4.3.0\sources\3rdparty\ffmpeg目录
将 ffmpeg.cmake 第25行的https://raw.githubusercontent.com
修改为:https://raw.staticdn.net
三、boostdesc_bgm.i相关文件下载失败
进入opencv_contrib-4.3.0\modules\xfeatures2d\cmake目录
将 download_boostdesc.cmake中的https://raw.githubusercontent.com改为https://raw.staticdn.net
四、vgg_generated_120.i相关文件下载失败
进入opencv_contrib-4.3.0\modules\xfeatures2d\cmake目录
将 download_vgg.cmake中的https://raw.githubusercontent.com改为https://raw.staticdn.net
之后重新在cmake 里configure即可
其他错误:将https://raw.githubusercontent.com改为https://raw.staticdn.net
最后工程编译:打开Open Project 在release 和debug模式下编译ALL_BUILD,然后在右击INSTALL生成(新建install文件)生成成功后只需要将install文件夹下内容配置即可