opencv4+CUDA10.2编译

一、工具

 1. x64 + win10 + vs2017
 2. opencv
 3. opencv_contib
 4. NVIDIA显卡驱动:注意与主机版本型号一致
 5. cuda10.2+cuCNN: 注意版本一致
 6. cmake 编译代码的软件

由于官网下载过慢,可直接在百度云下载

二、安装

  1. nvidia驱动安装, cuCNN安装
  2. opencv编译
    图1 cmake编译步骤

      step1: 进行图1中步骤1、2,添加源码路径以及编译工程的路径
      step2:  1)configure(进行图1中步骤3):
         2)选择对应的VS以及x64(64位pc),finish
         3)勾选BUILD_CUDA_STUBS、OPENCV_DNN_CUDA、WITH_CUDA
         4)赋值 OPENCV_EXTRA_MODLUES_PATH={root_path_of_opencv_contrib }/opencv_contrib/modules,接着 configure
          5)再勾选CUDA_FAST_PATH(直到这一步才会出现这个变量),再configure
          6)等待输出configuring done,且滑动输出内容知道无红色字体出现(error以及warring)
      step3: 进行图1中步骤4,等待输出generating done,且滑动输出内容知道无红色字体出现(error以及warring)
      step4: 至此,项目编译成功,打开编译工程的路径,双击OpenCV.sln,打开工程,分别用release\debug生成解决方案以及install
  3. 编译注意事项
    1)opencv download 错误
      configure时,若出现download warring:FFMPEG: Download failed等,可在opencv官网第三方库,通过切换分支将第三方库下载到本地,然后替换opencv源码目录中 .cache中未下载成功的文件(0KB文件)。
      例如FFMPEG: Download failed:操作如下
        step1: opencv_3rdparty切换到分支ffmpeg/3.4_20200907,然后下载该分支的内容到本地
        step2: 将文件夹ffmpeg中文件opencv_ffmpeg.dll、opencv_ffmpeg_64.dll以及ffmpeg_version.cmake,替换opencv源码路径下.cache/ffmpeg文件夹中文件,且文件名改为.cache/ffmpeg文件夹中对应的文件名
        step3: 若未再提示:FFMPEG: Download failed,即完成;若再提示warring:FFMPEG: Download failed,则查看编译工程文件中CMakeDownloadLog.txt,通常提示hash值不匹配,那可根据提示应匹配的hash值,修改opencv源码目录下3rdparty/ffmpeg/ffmpeg.cmake文件,将其中的hash值改为CMakeDownloadLog.txt文件中应【匹配的值,并修改.cache/ffmpeg文件夹中对应的文件名,修改后如图2所示:
    图2 修改后的hash值对应

    2)debug模式生成解决方案时,若提示pyhon_d.lib无法打开,可参考解决方案
//修改文件 Anaconda -> python -> pyconfig.h
# ifdef _DEBUG
# pragma comment(lib,"python38.lib")  //原为 # pragma comment(lib,"python38_d.lib")
# else
# pragma comment(lib,"python38.lib")
# endif /* _DEBUG */

#define Py_DEBUG  //注释掉改为   
//#define Py_DEBUG 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容