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文件夹中。

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

被折叠的 条评论
为什么被折叠?



