Win10 + VS2022 + OpenCV 4.7 + contrib + cuda加速 编译

编译好的:

https://download.csdn.net/download/Kasper_2009/88252429icon-default.png?t=N6B9https://download.csdn.net/download/Kasper_2009/88252429

一、准备工作

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下载安装

Download | 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结束后,出现了一些新的选项,需要配置一下:

点击Configure进行第三次Configure,点击Generate生成工程

三、vs2022编译

在上述步骤Generate以后直接在cmake-gui上点击Open Project即可打开vs工程

1. 选择Release(或Debug)和x64平台

2. 右键 ALL_BUILD 工程,点击 生成

3. 右键 INSTALL 工程,点击 仅用于项目->仅生成INSTALL

至此编译结束,产物在上述步骤二配置cmake时指定的build文件夹下的install文件夹中

猜你喜欢

转载自blog.csdn.net/Kasper_2009/article/details/130384029