Win10下Cmake编译CUDA版的OpenCV+OpenCV Contrib

与无CUDA的编译相比,此次编译较为曲折,主要问题点:在生成ALL_BUILD时,总是在opencv_world项目处报ippiwd相关的错误。我几乎试遍了网上所有方法,均没有解决问题。

后来就不再解决这个问题,而是找出几篇博客,比较他们之间的不同。发现主要差异点:

1、CUDA的安装项不同。有些博客只安装了CUDA,有些还另外安装了cudnn。

2、Cmake命令选项。有些博客只提示选中或设置某些命令,并没有具体的操作步骤。

对比总结之后,最终编译成功。总结步骤如下:

  1. 编译无CUDA的版本,解决普通OpenCV+OpenCV Contrib的编译。此类编译主要问题在于:很多三方库的链接失效导致编译时文件缺失。具体解决方法可结合我上篇博客及其他博客。注意:普通版编译不过,CUDA版大概率也过不了。

  1. 编译CUDA版本。

  1. CUDA及对应cudnn的安装。具体安装方法及验证成功与否的方法可在网上查询,这里不再赘述。

  1. 打开Cmake界面,设定好源码路径和build路径之后

  1. 点击“Configure”,设定编译器及编译器平台之后,点击“Finish”。

  1. 点击“Configure”,等待“Configure done”。假定无CUDA版已经编译通过,此次Configure没有报错。当然,若报错,就根据所报的错误解决问题。

  1. 设定参数.

BUILD_opencv_world 选中后,会生成一个DLL

OPENCV_EXTRA_MODULES_PATH 输入Contib的modules路径

CMAKE_INSTALL_PREFIX 输入INSTALL的地址,会将库抽取到该地址

OPENCV_SHARED_LINS 选中(打√)后,生成动态库

OPENCV_ENABLE_NONEFREE 选中(打√)后,会将非免费的算法编译进来

WITH_CUDA 选中(打√)后,即使用CUDA

BUILD_CUDA_STUBS 选中(打√)后,编译CUDA

OPENCV_DNN_CUDA 选中(打√)

  1. 点击“Configure”,等待“Configure done”。

  1. 设定参数

CUDA_ARCH_BIN 输入你使用的显卡的算力,可在官网搜索

  1. 点击“Configure”,等待“Configure done”。

  1. 点击“Generator”,等待“Generator done”。

  1. 点击“Open Project”,先生成“ALL_BUILD”,在生成“INSTALL”,就可以在你设定CMAKE_INSTALL_PREFIX下找到编译的结果文件。

上述方案只是我解决问题方法的总结,细节不足,单方法切实有效。具体操作细节可结合其他博客来完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值