OpenCV4.5.0 contribCUDA在windows下编译
从OpenCV4.2.0 版本开始允许使用 Nvidia GPU 来加速推理。
本文介绍使用windows11系统编译带CUDA的OpenCV的过程。
1. 准备环境
-
下载OpenCV源码
-
下载Opencv contrib (下载对应的版本)
-
准备.cache文件,拷贝到source文件下;或者修改contrib中Cmake文本中的github下载地址。
-
安装Visual Studio 2022(随便版本都行,但最好2019以上)
-
VS安装步骤中选择(Desktop Development with C++ option and click on install)
-
安装CUDA和cuDNN(需确认安装完成,并把zlib库添加到系统环境变量path中)
-
安装Cmake
2. 编译
-
解压在penCV源码,在source目录旁新建编译目录
-
解压OpenCV_contrib,放在source文件夹旁边
-
打开Cmake(gui)
-
Cmake配置Opencv源码文件地址,和build输出文件地址
-
点击configure
-
出现配置界面,第一行选择VS相应的版本,第二行选择架构默认(x64)
-
点击finish,第二次点击configure
-
如果这时输出下载超时,需要替换准备好的.cache文件或者修改下载地址为国内镜像网站
-
在search中输入cuda,出现的三个选项全部打勾
-
search框搜MODULES,在OPENCV_EXTRA_MODULES_RATH一项,添加opencv_contrib4.5.1中的modules目录
-
search框搜NON,把OPENCV_ENABLE_NONFREE 的value打勾。
-
search框搜world,将build_opencv_world的value打勾,将所有opencv的库都编译在一起不需要自己一一添加每个小模块。
如果你的电脑配置一般,我建议你找到列表中的“BUILD_TESTS”,“BUILD_PERF_TESTS”,“BUILD_EXAMPLES”,把勾去掉,可以缩短最后生成解决方案的时间。电脑还可以的朋友建议保留。
-
第三次点击configure,再次等待,会出现Configuring done 再次搜索框输入cuda,CUDA_ARCH_BIN中将显卡的算力内容改成自己显卡的算力.显卡算力查询网站
-
第四次点击confige,这次的Configuring done终于OK,然后点击Generate,稍等片刻出现Generating done!
-
然后点击Open Project,它会启动你的Visual Studio
-
VS选择Release x64,接着找到“CmakeTargets”下的“ALL_BUILD”,右键→“生成”,然后开始漫长的等待……
-
解决方案资源管理器—>CMakeTargets—>INSTALL—>生成”然后又是等,好在这次时间很短。完成后你的build文件夹中会出现一个install文件夹,这就是完成了。