作为OpenCV开发工程师没自己编译过OpenCV还是有点说不过去,第一次自己编译,记录下每一步。
1.准备阶段
1.1下载OpenCV源码和扩展包的源码
官方网址:OpenCV,
左侧为OpenCV源码,右侧为拓展模块,都需要下载下来,这里下载速度可能有点慢,多试几次。
我这里下载的是OpenCV4.8版本,对应拓展包也是这个版本(版本要一致) 。
1.2安装cuda
这里我讲的比较详细,安装过的同学直接跳过~
桌面右下角图标打开英伟达控制面板,点击左下角系统信息,在组件里面查看第三行,这里就是你电脑支持的cuda最高版本。
或者直接win左下角搜索cmd打开命令行窗口,输入nvidia-smi
可以看到显卡最高支持到cuda12.6,我们在后续的cuda版本中要选择12.6以下的。
官网下载:CUDA Toolkit Archive | NVIDIA Developer ,这里推荐使用11.8,可以支持绝大部分深度学习的项目。
接下来按照你电脑对应的系统选择下载就好了。
点击下载好的cuda_11.8.0_522.06_windows.exe安装包,建议路径选择默认路径,点击“ok”,NVIDIA软件许可协议选择“同意并继续”,安装选项选择自定义,点击“下一步”,自定义安装选项中不用修改,默认即可,点击"下一步",最后一步是选择安装位置,强烈建议保持默认即可,然后点击下一步,等待安装完成。
系统路径设置:讲道理这个版本的cuda会自动帮你生成系统路径,但我们还是要去检查一下。
在电脑“属性”里打开“高级系统设置”,点击“环境变量”添加CUDA字样的路径。
当安装完成后,win左下角搜索cmd打开命令行窗口,输入nvcc -V,如下所示即为安装成功。
到这里还没结束,别急,还有个扩展包需要安装,不然后面会有坑!!
下载CUDNN,NVIDIA cuDNN是一个 GPU 加速的深度神经网络基元库,就是扩展包。
官方网址:cuDNN 历史版本 | NVIDIA 开发者,下载的版本和CUDA对应就可以了。
解压之后将下图三个文件夹复制粘贴进cuda安装目录下的bin和include文件夹中。
如果你选择默认路径的话,应该跟我一样。
系统环境配置,在path里面加上右边四行路径,方便同学们复制,我放在下面:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib
至此完成CUDA安装 。
1.3安装cmake
官网个版本跳转链接:Index of /files,直接找对应系统版本下载就可以了,我这里是3.20,后缀是msi的那个。
下载下来直接安装下一步完成即可,这里比较简单。下面进入核心编译环节。
2.编译OpenCV
2.1cmake阶段
在OpenCV的目录下面新建一个build_cuda文件夹用来放构建文件。
如下图,打开cmake,填写构建路径。改正对应你自己的路径即可。
点击左下角的configure,选择Visual Studio 15 2017 ,x64系统开始构建
configure完成之后点击generate,下图所示
等generate完成,我们开始构建拓展模块,搜索opencv_ex,填上对应拓展包路径,
搜索CUDA关键字,全部勾选上,generate生成
2.2构建OpenCV
至此cmake的工作已经完成,在构建文件夹下我们就会得到一个OpenCV.sln文件,双击打开这个文件
切换至Release模式之后,选择INSTALL右键选择生成,这一步时间有点久~
技巧提示:
1. 无法下载第三方文件,请手动下载以后放到 source/.cache 文件夹 内相关位置即可。
2. 无需编译 XFeature2D、FaceModel、Test 等模块,统统取消勾选(默 认是勾选的) 。
2.3编译成功
编译成功之后会得到一个install文件夹