win10下VS2015编译OpenCV4.2.0的dnn模块调用yolov3模型和CUDA10.2+cudnn7.6.5.32

opencv自4.2.0后dnn模块开始支持GPU加速,所以需要手动编译opencv模块才能用,环境配置:win10,VS2015,CUDA10.2,cudnn-10.2-windows10-x64-v7.6.5.32,cmake3.16.3,opencv_contrib-4.2.0,安装步骤参考:https://blog.csdn.net/length85/article/details/103767475,我就简单记录一下自己的问题。

编译好的opencv_world420.dll有将近500MB,比不编译CUDA的大了十多倍,编译好的dll文件上传到了网盘:

链接:https://pan.baidu.com/s/1oFW1yeB6fHQWkFdKqxGSig 提取码:drp3

 

1.编译opencv之前,需要先安装CUDA和cudnn, cuda好像只能安到默认目录C盘,尝试了两次D盘均不成功,还自动重启。

2. 解压NVIDIA官网下载的cudnn,将文件拷贝到cuda对应目录下。

3. 解压opencv,在根目录下新建一个build文件夹,打开cmake的gui界面设置opencv目录设置和编译build目录。

4.其余按照参考文章opencv4.2.0 源码编译,win7+VS2015,DNN模块支持cuda加速 配置,勾选WITH_CUDA,BUILD_opencv_world ,OPENCV_DNN_CUDA,配置出现红色条目,再次点击config配置直到没有出现红色。

5.对于cmake 配置configuration有些不能下载下来的包,会导致最终编译错误,可以查看build/CMakeDownloadLog.txt日志,找到下载链接,用迅雷下载下来,放到源码下的.cache文件夹下的对应目录,按照配置时下载的格式重新命名,这样配置完才能编译,先参考上面的博客 把源码的一些错误改了再开始编译,节约时间。

6.

编译出现乱码,出现警告OpenCV Build process warning : field of class type without a DLL interface used in a class with a DLL interface!可以忽略,最后仍旧编译成功了。

7. 编译一次根据电脑性能时间一到几个小时不等,晚上回去的时候开始编译,第二天就好了。win10下VS2015编译OpenCV4.2.0的dnn模块调用yolov3模型和CUDA10.2+cudnn7.6.5.32_第1张图片

编译好的库文件放到了CSDN。资源链接:https://download.csdn.net/download/qq_30460905/12352572

2020.06.21补充

Ubuntu 16.04 下面编译不需要更改代码,ippicv和face_landmark_model.dat可以用迅雷下下来拷过去,boostdesc_bgm.i等可以参考博客:https://blog.csdn.net/jiaken2660/article/details/104132060,下载下来后放把文件放到opencv_contrib-4.2.0/modules/xfeatures2d/src 下面,重新编译,亲测可行!

你可能感兴趣的:(OpenCV)