vgg安装所需软件/库
Anaconda3,cmake,cuda,opencv-4.2.0,opencv_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点击
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进行加速。