编译好的:
一、准备工作
1. cuda安装
在cmd命令中打nvidia-smi看支持的cuda最高版本
cuda版本选择也不能过于早,作者之前用过cuda11.2,在后续vs编译环节发现其最高只支持vs2019,不支持vs2022。目前作者使用cuda11.8。
下载安装cuda:CUDA Toolkit Archive | NVIDIA Developer
2. cuDNN下载配置
下载配置对应cuda版本的cuDNN:cuDNN Archive | NVIDIA Developer
把cuDNN解压出来的三个文件夹(bin、include、lib)复制到cuda对应同名文件夹的位置(默认安装路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v[版本号]),win10会自动对应地合并里面的内容。
3. cmake下载安装
4. Visual Studio 2022下载安装
Visual Studio: IDE and Code Editor for Software Developers and Teams (microsoft.com)
5. OpenCV和对应contrib包源码下载
OpenCV · GitHub (有梯子连接稳定一些)
两个卡片分别点进去下载想要版本的源码,注意左上角branch的选择,点code下载Download ZIP就行,不一定非得用git get。。。
二、cmake生成工程
1. 第一次Configure
打开cmake-gui(找不到的话开始菜单旁边的搜索框里搜),填写opencv源码位置和build文件夹位置(新建):
点Configure,选择vs2022和x64平台,确定以后就开始第一次Configure
2. 第二次Configure
第一次Configure结束后,在search框里搜索并配置一些选项:
- 勾选 BUILD_opencv_world(后续工程里就只用配置opencv_world470.lib或opencv_world470d.lib一个包,不然得配置每一个分开的包)
- 配置 OPENCV_EXTRA_MODULES_PATH,填写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
3. 第三次Configure与Generate生成工程
第二次Configure结束后,出现了一些新的选项,需要配置一下:
- 勾选 CUDA_FAST_MATH
- CUDA_ARCH_BIN 填写对应GPU的算力指数,如果已经有了多个值,可以把其他的值删除以加速后续编译,算力指数查询链接:CUDA GPUs - Compute Capability | NVIDIA Developer
点击Configure进行第三次Configure,点击Generate生成工程
三、vs2022编译
在上述步骤Generate以后直接在cmake-gui上点击Open Project即可打开vs工程
1. 选择Release(或Debug)和x64平台
2. 右键 ALL_BUILD 工程,点击 生成
3. 右键 INSTALL 工程,点击 仅用于项目->仅生成INSTALL
至此编译结束,产物在上述步骤二配置cmake时指定的build文件夹下的install文件夹中