1、背景
Win10系统,现装有vs2017,qt5.9,cuda10.2,opencv4.5.4,RTX2070,由于项目需要,需要安装cuda 11,opencv需要编译cuda、dnn等,所以对应的opencv4需要重新安装编译。
2、准备工作
Vs2017
Opencv4.5.4
Opencv_contrib4.5.4
cmake3.24.3
3、安装过程
3.1安装cuda11和cudnn8
因为原来装有cuda10.2和对应的cudnn,有的人说安装cuda11的时候需要卸载cuda10吗,答案是不需要卸载,可以同时存在,最多修改一下环境变量。安装cuda11的方法和cuda10的方法完全一样,包括cudnn,安装完之后记得在cmd命令行测试cuda的版本,如下:
而且cuda10的环境变量没有改变:
3.2安装opencv
1)双击cmake-gui,exe软件,添加opencv文件夹和新建的build文件夹,如:
2)第一次点configure,默认的选择就好了。如果你需要在其他平台跑,就在第二个框选择你的平台,默认行x64。点击Finish。
3)第二次点击configure,开始编译了,现在等待ing。因为有的文件是需要搭梯子的,比如ippicv,需要提前下载,文后有下载链接
configure done后,在search框内输入cuda,三个全部将value打勾。
search框搜MODULES,在OPENCV_EXTRA_MODULES_RATH一项,添加opencv_contrib4.5.4中的modules目录
search框搜NON,把OPENCV_ENABLE_NONFREE 的value打勾。
search框搜world,将build_opencv_world的value打勾,将所有opencv的库都编译在一起不需要自己一一添加每个小模块。
如果你的电脑配置一般,建议你找到列表中的“BUILD_TESTS”,“BUILD_PERF_TESTS”,“BUILD_EXAMPLES”,把勾去掉,可以缩短最后生成解决方案的时间。电脑还可以的朋友建议保留。
4)第三次点击configure,再次等待,会出现Configuring done
再次搜索框输入cuda,CUDA_ARCH_BIN中将显卡的算力内容改成自己显卡的算力,我将小于7的都删除了。(第一次没有删除,编译了很长时间,不仅卡主还报错,删除之后没有报错)
查看显卡算力网址:https://developer.nvidia.com/cuda-gpus
5)第四次点击confige,这次的Configuring done终于OK,然后点击Generate,稍等片刻出现Generating done!
然后点击Open Project,它会启动你的Visual Studio
我把编译需要的cmake的东西文件夹.cache上传上去,供需要的朋友下载。
3.3 Vs编译配置
3.3.1加载
使用vs2017打开刚刚编译的工程后,会反应一段时间,一定要等左下角显示的项全部加载完毕才可以继续操作。
3.3.2编译
选择Release x64,接着找到“CmakeTargets”下的“ALL_BUILD”,右键→“生成”,然后开始漫长的等待……
等待大概一两个小时吧,看电脑配置,期间最好不要让电脑做其他工作,不然可能卡死。
生成成功是这个样子的。一般是不会有error的,如果有请查看详情,是否cmake阶段没搞好。
3.3.3 安装
解决方案资源管理器—>CMakeTargets—>INSTALL—>生成”时间比较短。完成后build文件夹中会出现一个install文件夹。
3.3.4配置VS2017+opencv4.5.4
配置阶段其实和直接安装exe文件的过程是一样的,install文件夹就是需要配置的目录。
.cache下载地址: 添加链接描述