环境说明:

CUDA: 11.3

CUDNN: 11.3

Opencv: 4.1.0

Opencv-contrib: 4.1.0

cmake: 3.14.4

visual studio 2019(社区版)

目录

一、环境安装:

二、cmake重新配置Opencv

三、VS2019生成Opencv-cuda版本的库

四、配置Opencv环境

五、cmake配置和运行C++程序时碰到的BUG

(1)问题1:CUDA_nppicom_LIBRARY (ADVANCED),找不到opencv_contrib-4.1.0/modules中的文件 ?

(2)问题2:运行demo程序时,错误 MSB8020 无法找到 v143 的生成工具(平台工具集 =“v143”) ?


一、环境安装:

从简叙述本文章的环境:(因为每个人的环境基本不同)

(1)CUDA下载链接:CUDA Toolkit - Free Tools and Training | NVIDIA Developer

(2)CUDNN下载链接:CUDA Deep Neural Network (cuDNN) | NVIDIA Developer 

(3)Opencv和Opencv-contrib从Github官网上下载

(4)cmake下载链接:Index of /files/v3.14 (cmake.org),下载cmake-3.14.4-win64-x64.msi后,双击安装即可,安装过程中,选择自动环境配置,并生成桌面图标。

二、cmake重新配置Opencv

  1. 点击Configure,完成后,点击Generate
  2. 选取WITH_CUDA和BUILD_CUDA_STUBS
  3. 配置OPENCV_EXTRA_MUDULE_PATH >>> .../opencv_contrib-4.1.0/modules
  4. 完成后,再次点击Generate

配置完成的截图:

三、VS2019生成Opencv-cuda版本的库

  1. 紧接着上一步,点击Opencv Project,自动在VS中打开此解决方案。
  2. 右键点击ALL_BUILD,然后点击生成(需要1-2小时)
  3. 右键再点击INSTALL ,然后点击生成(需要1-2小时)

四、配置Opencv环境

再配置的路径中,新生成一个Install的文件夹,即新生成的Opencv-cuda环境。

具体操作见我的另一篇博客:

C++配置opencv环境,并实现基本语句的运行_Flying Bulldog的博客-CSDN博客_c++配置opencvDemo success 需要5步(1)opencv官网下载直达: https://sourceforge.net/projects/opencvlibrary/files/此处建议下载opencv-3.4.16-vc14_vc15.exe(因4.5版本可能会报错,如下图所示)(2)安装opencv,本人安装路径:G:\c++_machine_learning\(3)配置电脑系统环境:G:\c++_machine_learning\opencv\build\x64\vc15\bin(4https://blog.csdn.net/qq_54185421/article/details/124218285

由于lib文件有几十个,复制过去很麻烦,故提供一个简单的配置 Linker>>>input>>>Additional Dependencies 的技巧,如下所示:

五、cmake配置和运行C++程序时碰到的BUG

(1)问题1:CUDA_nppicom_LIBRARY (ADVANCED),找不到opencv_contrib-4.1.0/modules中的文件 ?

解决办法:更改cmake中的文件,因为CUDA版本的缘故。

参考链接:a. 官方,b. Release OpenCV 4.1.0,经过考察,官方的解决办法更有用!

文件路径:/cmake-3.14/Modules/FindCUDA.cmake,更改后的文件内容截图如下:

(2)问题2:运行demo程序时,错误 MSB8020 无法找到 v143 的生成工具(平台工具集 =“v143”) ?

解决办法: 在解决方案资源管理器中,右键点击项目根目录,然后依次点击:配置属性>>>常规>>>Visual Studio 2019 (v142),如果还是不行,就到Visual Studio Installer中下载v143组件。

>>>点到为止,经历最为可贵,希望对你有所帮助。

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐