
【极致版】VS2022 + OpenCVGPU版+CUDA+contrib配置
找到opencv_world4100.dll,复制这个文件粘贴到C:\Windows\System32目录中,大功告成!
一、安装库文件
1. cuda安装
在cmd命令(按下 Win + R
键,打开“运行”对话框,输入 cmd
后按回车键)中打nvidia-smi看支持的cuda最高版本
目前作者使用的是CUDA11.6,下载网址:CUDA Toolkit Archive | NVIDIA Developer
2. cuDNN安装
在网址:cuDNN Archive | NVIDIA Developer
中选择适合CUDA版本的cuDNN,如下图:
比如我选择的cuDNN v8.4.0可以适配CUDA 11.x,也就是11.0、11.1、11.2、11.3、11.4、...、11.9;然后把cuDNN解压出来的三个文件夹(bin、include、lib)复制到cuda对应同名文件夹的位置中,以默认位置(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6为例),将cuDNN的bin文件夹里的所有内容复制粘贴至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin中,将cuDNN的include文件夹里的所有内容复制粘贴至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include中,将cuDNN的lib文件夹里的所有内容复制粘贴至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib中。
3.cmake安装
只是版本不同,找xxxx-windows-x86_64.zip文件下载安装即可。
4.vs2022 安装
Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器
5.OpenCV和对应contrib包源码下载
将上述的opencv和opencv_contrib下载zip文件并解压。
二、使用cmake编译生成
1. 第一次Configure
在下载好的cmake的文件夹中搜索cmake-gui.exe,双击运行,填写opencv源码位置(到sources文件夹)和cv文件夹位置(新建):
在这里新建一个cv文件夹。
点Configure,选择vs2022和x64平台,确定以后就开始第一次Configure。第一次Configure完成时间耗时约几分钟。
2. 第二次Configure
第一次Configure结束后,在search框里搜索并配置一些选项:
勾选 BUILD_opencv_world
配置 OPENCV_EXTRA_MODULES_PATH,填写contrib源码文件夹的位置(例如:F:\savefiles\opencv_contrib),到文件夹的位置opencv_contrib目录即可。
搜索“cuda”,勾选 BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA
勾选 ENABLE_FAST_MATH
勾选 OPENCV_ENABLE_NONFREE
取消勾选 OpenCV_GENERATE_SETUPVARS
分别搜索“python”,“java”,“js”,“tests”,分别取消勾选所有已经勾选的python、java、js、tests相关选项
点击Configure进行第二次Configure,第二次Configure完成时间耗时约几分钟。
3. 第三次Configure以及Generate
取消勾选 BUILD_opencv_xfeatures2d
勾选 CUDA_FAST_MATH
CUDA_ARCH_BIN 填写对应GPU的算力指数,算力指数查询链接:CUDA GPUs - Compute Capability | NVIDIA Developer
删掉所有其他的,只留下自己的
点击CUDA-Enabled NVIDIA Quadro and NVIDIA RTX,以RTX 3060为例,应该填写7.5作为算力指数。
等待Configure done出现,然后点击Generate开始生成。第三次Configure完成时间耗时很短,Generate生成耗时更短,几秒或几十秒。
三、编译
Generate生成完毕之后,Generate按钮旁边会有open project按钮,单击open project按钮启动vs2022的工程,然后注意选择Release和x64平台。
点击这个CMakeTargets展开目录,右键点击展开的ALL_BUILD,点击生成。(注意,此处耗时很长,使用RTX 3050耗时约50分钟,RTX 1060耗时约120分钟)。
生成完毕之后右键 INSTALL 工程,点击仅用于项目->仅生成INSTALL(此处耗时较短,约几分钟)。
最后出现xx成功,0失败即代表编译完成,接下来在vs中导入库文件。
四、导入
打开vs2022的随便一个工程,选择Release和x64,然后右键点击项目名称,点击属性,如下:
点击VC++目录
随后操作如下:
1.点击包含目录,分别输入以下两个文件夹位置:
F:\opencvgpu\opencv\build\x64\cv\install\include\opencv2
F:\opencvgpu\opencv\build\x64\cv\install\include
注意,上述这个文件夹位置中的“cv”是在步骤“二、使用cmake编译生成” 中 “1. 第一次Configure”时新建的文件夹。
2.点击库目录,输入下面这个文件夹位置:
F:\opencvgpu\opencv\build\x64\cv\install\x64\vc17\lib
同样的,这个文件夹位置中的“cv”是在步骤“二、使用cmake编译生成” 中 “1. 第一次Configure”时新建的文件夹。
点击链接器,点击输入,在附加依赖项中输入opencv_world4100.lib;
3.最后,打开目录F:\opencvgpu\opencv\build\x64\cv\install\x64\vc17\bin
找到opencv_world4100.dll,复制这个文件粘贴到C:\Windows\System32目录中,大功告成!
更多推荐
所有评论(0)