利用Cmake-gui编译opencv4.5.1+opencv_contrib+gpu模块

本文详细介绍了如何在VS2017中配置OpenCV4.5.1,包括SURF/SIFT等功能的启用及GPU加速。通过步骤化的指导,帮助读者解决配置过程中可能出现的问题。

VS2017+OpenCV4.5.1

opencv4.5.1可以用SURF/SIFT等,主要也是为了使用gpu模块进行加速。我电脑上装的cuda版本为10.0/cudnn版本为7.6.5.32。cuda/cudnn的版本决定了opencv/opencv_contrib是否能编译gpu模块成功。

step1:下载opencv和opencv_contrib

这里主要贴个opencv_contrib的下载链接,点击选择opencv_contrib_4.5.1
如下图:
在这里插入图片描述
下载完之后进行解压,文件tree如下所示,文件中的software我自己建立的,有其他作用,这里先不用创建:
在这里插入图片描述
在opencv-4.5.1文件夹中新建mybuild文件夹
在这里插入图片描述

step2:利用CMAKE-GUI进行编译

sp1:首先添加路径,进行第一编译

点击configure,选择vs 15 2017 ,以及x64,最后选择finish,自动进行第一次编译
在这里插入图片描述

sp2:如果第一次编译成功,出现红框不要着急,先添加contrib路径,勾选gpu模块和特征检测模块包括:

WITH_CUDA;(必选)
CUDA_ARCH_BIN;需要填写,我的是7.5
CUDA_FAST_MATH;(可选)
OPENCV_DNN_CUDA;(可选)
OPENCV_ENABLE_NONFREE;(必选)
OPENCV_EXTRA_MODULES_PATH;添加contrib路径,

我的为:D:/opencv451/opencv_contrib-4.5.1/modules

这里也建议勾选BUILD_opencv_world,方便我们后面添加依赖项。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

sp3:如果第一次编译不成功报错:ade,ippicv,ffmpeg,vgg等相关文件下载不下来是因为网络的原因,我们直接将文件下载下来。

(1)查看此贴,将所有的文件下载下来,存放到前面的software文件中。这个帖子建议下载ade和nvidia_optical_flow。
(2)至于ippicv和ffmpeg,face,vgg等包的下载的也可以查看此贴
以上两种方式结合着用。
注意事项:
(1)ade下载下来的时候记得包重新命名为:v0.1.1f.zip
(2)nvidia_optical_flow下载下来的时候也需要重新命名,进入
D:\opencv451\opencv_contrib-4.5.1\modules\cudaoptflow文件夹下打开cmakelists.txt文件,查看语句:

set(NVIDIA_OPTICAL_FLOW_1_0_HEADERS_COMMIT "79c6cee80a2df9a196f20afd6b598a9810964c32"

zip文件重命名为:79c6cee80a2df9a196f20afd6b598a9810964c32.zip
这是下载的路径,请记住这个路径。下面会用到。
在这里插入图片描述

sp4:将上面的下载链接修改为本地连接

先将各个下载链接所在的文件路径附上:

D:\opencv451\opencv-4.5.1\sources\3rdparty\ffmpeg下的ffmpeg.cmake文件

D:\opencv451\opencv-4.5.1\sources\3rdparty\ippicv下的ippicv.cmake文件

D:\opencv451\opencv_contrib-4.5.1\modules\xfeatures2d\cmake下的download_boostdesc文件和download_vgg文件

D:\opencv451\opencv_contrib-4.5.1\modules\face下的Cmakelists.txt文件

D:\opencv451\opencv_contrib-4.5.1\modules\cudaoptflow下的Cmakelists.txt文件

D:\opencv451\opencv-4.5.1\sources\modules\gapi\cmake下的DownloadADE文件

那么如何修改呢?对于cmake文件:

以ffmpeg和ade为例:
在这里插入图片描述
在这里插入图片描述

相应位置进行修改即可

对于txt文件:

以face为例:
在这里插入图片描述

step3:进行configure不再报错为止,然后generate,不再报错为止(应该没有错误了)。

step4:点击Open Project,右键“ALL_BUILD”,选择“生成”。

step5:右键“INSTALL”,选择仅在install下生成。

step6:环境变量配置:

在这里插入图片描述

step7:VS2017中进行设置:

VC++ —》包含目录:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
D:\opencv451\opencv-4.5.1\mybuild\install\include\opencv2
D:\opencv451\opencv-4.5.1\mybuild\install\include

VC++ —》库目录:

D:\opencv451\opencv-4.5.1\mybuild\install\x64\vc15\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

连接器 —》输入 —》附加依赖项:

opencv_world451d.lib

上面的关于CUDA的添加,如果使用gpu报错就添加。不报错可以不添加。

step8:测试程序报错:找不到opencv_world451d.dll文件

解决办法:将opencv_world451d.dll复制到C盘Windows下的SysWOW64文件夹和System32文件夹中。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徽州SLAM李

如果觉得不错,打赏一下哦,嘻

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值