cmake编译opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.2.0+contrib+vs2017

vgg安装所需软件/库

Anaconda3,cmake,cuda,opencv-4.2.0opencv_contrib-4.2.0安装参考cmake编译opencv: Win10+cmake3.14.4+cuda10.0+cudnn7.6+opencv-4.0.0+contrib+vs2015_atpalain_csdn的博客-CSDN博客

1.cudnn,这里有个坑,当时cudnn版本为7.4,导致后面cmake的时候,没有OPENCV_DNN_CUDA这个选项,且Configure一直不会出现cudnn  OK的情况,如下图。切忌把cudnn的版本要大于等于7.6,不然就像我搞了一天。

2.opencv,这里也有个坑,cudnn版本对了,cmake没有问题,但是"All_BUILD -> 右键"生成",会出现缺少boostdesc_bgm.i等文件报错。这里需要下载boostdesc_bgm.i等文件,并将文件放到对应的opencv_contrib\modules\xfeatures2d\src里面。

     boostdesc_bgm.i等文件地址。

    百度云链接:百度网盘 请输入提取码

     提取码:e1wc

百度云地址有问题的话,boostdesc点击

boostdesc

vgg点击

vgg

3.其他报错

(1) 如果遇到 error LNK1104: 无法打开文件“python37_d.lib” 的问题,可参考编译OpenCV缺少python27_d.lib的解决方法的方法来解决。python3也可以按照此方法。

(2) 无法打开文件或头文件报错:
【1】“features2d/test/test_detectors_regression.impl.hpp”: No such file or directory opencv_test_xfeatures2d D:\OpenCV\opencv_contrib-4.1.1\modules\xfeatures2d\test\test_features2d.cpp 51
【2】fatal error:features2d/test/test_detectors_regression.impl.hpp:
【3】#include "features2d/test/test_detectors_regression.impl.hpp"

【原因分析】:头文件不对,改变文件路径;或者该文件不存在
【解决方法】:将opencv-4.2.0/modules/features2d/test/文件下的

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp

拷贝到opencv_contrib-4.2.0/modules/xfeatures2d/test/文件下。
同时,将opencv_contrib-4.2.0/modules/xfeatures2d/test/test_features2d.cpp文件下的

#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"

改成:

#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

将opencv_contrib-4.2.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件下的

#include "features2d/test/test_detectors_invariance.impl.hpp" 
#include "features2d/test/test_descriptors_invariance.impl.hpp"

改为:

#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"

【对于hpp文件缺失的处理办法】去找现成文件,复制到指定链接即可。

4.重新启动cmke

开始第一次configure,中间会下载一些缓存文件

然后勾选BUILD_opencv_world、WITH_CUDA、OPENCV_DNN_CUDA、设置OPENCV_EXTRA_MODULES_PATH,再次点击configure:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
5、configure之后会报错,找到CUDA_ARCH_BIN,根据https://developer.nvidia.com/cuda-gpus此网站找到自己显卡的算力填入(我的显卡是1080ti,算力为6.1),并且勾选CUDA_FAST_MATH,将OpenCV_GENERATE_SETUPVARS的勾去掉,再次点击configure:
在这里插入图片描述
6、Configure done后,需要确认以下几个信息:
(1)OpenCV中必须包含cuda、python3
(2)必须要检测到正确版本的CUDA和cuDNN
在这里插入图片描述
在这里插入图片描述
7、步骤5的条件都满足后,可以点击Generate,generating done之后,点击Open Project,设置编译平台(Release/Debug均可)、右键ALL_BUILD-生成,生成时间较长,需要1.5小时左右:
在这里插入图片描述
8、经过一段时间的等待(看电脑性能),编译成功,没有报错,请在空闲时间编译。
9、生成成功后,右键INSTALL-仅用于项目-仅生成INSTALL,INSTALL生成成功后,会在build目录下看到一个install文件夹

在这里插入图片描述
在这里插入图片描述
至此,将CUDA编译至OpenCV DNN模块已全部成功,后面就可以用CUDA进行加速。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值