win10+vs2017+opencv3.4.3+cmake配置opencv_contrib3.4.3

1 篇文章 0 订阅

1.配置opencv_contrib,Why?

opencv只包含基本内容,若需要用到surf特征提取等内容,因为版权问题必须安装opencv_contrib。

2.需要准备的安装包

vs2017:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

opencv:https://opencv.org/releases/

这里用到的是opencv3.4.3版本,可以选择自己喜欢的版本;

cmake:https://cmake.org/download/

cmake有很多版本,一般建议选择下载绿色版或安装版;

opencv_contrib:https://github.com/opencv/opencv_contrib/releases

请一定选择和opencv一样的版本号(点击发行版可以找到对应版本下载),不然可能会出错。

3.安装vs2017,opencv、cmake

1)安装vs2017

a.点击安装程序Visual Studio Installer进行安装,等待下载完毕后进入安装包选择界面:

b.选择安装位置(为了节省C盘存储空间):

尽管选择了安装位置,但可能会有些SDK仍然装在C盘,对该SDK的文件构造软链接,防止装在C盘,这里在G盘新建一个Shared文件夹: G:\Program Files (x86)\Microsoft Visual Studio\Shared,接着在cmd命令行输入:mklink /D "C:\Program Files (x86)\Microsoft Visual Studio\Shared" "G:\Program Files (x86)\Microsoft Visual Studio\Shared":

可以看到在C盘的Shared文件夹上有个小箭头,说明链接成功。

2)安装opencv3.4.3

解压下载好的压缩文件到指定文件夹:G:\Program Files (x86)\MyOpenCV。

3)安装cmake

解压cmake-3.13.4-win64-x64.zip到文件夹:G:\Program Files (x86)\MyOpenCV,接着添加环境变量(右键“此电脑”--“属性”-“高级系统设置”-“环境变量”-在“系统变量”下选择“path”进入“编辑”-加入路径:G:\Program Files (x86)\MyOpenCV\cmake-3.13.4-win64-x64\bin)

命令行(cmd)输入:cmake  --version可查看版本号即可。

4)安装opencv_contrib

解压opencv_contrib-3.4.3.zip到G:\Program Files (x86)\MyOpenCV。

4.配置opencv_contrib

1)打开cmake,选择路径如图:

2)点击configure,第一次使用会弹出对话框,选择对应的vs版本即可:vs2017 Win64,之后点确认,程序开始运行,运行完成后会在最下方显示configuration done;

3)在cmake搜索框中搜索OPENCV_EXTRA_MODULES_PATH,将value值选择为opencv_contrib文件夹中的modules文件夹:G:/Program Files (x86)/MyOpenCV/opencv_contrib-3.4.3/modules;搜索WITH_CUDA,确保未勾选;最后再一次点击configure,成功之后依然会在最下边显示configuration done;

4)点击generate,这一次很快。然后直接在cmake面板点击open project打开项目。至此Cmake中的操作全部完成,可以关掉它了。

5)接着都是在VS2017中完成,首先选择x64 Debug,在菜单栏选择生成->生成解决方案(分别等待十几分钟),会提示生成的情况,可能会有生成失败的项目,不管,接着右键CMakeTargets中的INSTAKLL,选择仅限于项目->仅生成INSTALL;接着同样步骤选择x64 Release进行。

这里对x64 Release进行操作时,报错,提示opencv_contrib缺少boostdesc_bgm.i等文件,解决方法如下:

a.将boostdesc_bgm.i,vgg_generated_48.i等.zip里的文件解压到:opencv_contrib/modules/xfeatures2d/src/,在生成一次试试,继续报错:无法打开包括文件: “opencv2/xfeatures2d/cuda.hpp”;

b.双击错误到报错的地方,将:#include "opencv2/xfeatures2d/cuda.hpp",改为:

G:\Program Files (x86)\MyOpenCV\opencv_contrib-3.4.3\modules\xfeatures2d\include\opencv2/xfeatures2d/cuda.hpp

6)最后系统环境配置:

a.新建用户变量:

变量名:OPENCV

变量值:G:\Program Files (x86)\MyOpenCV\opencv\new_build\install

b.系统环境变量,Path中添加:G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\x64\vc15\bin

5.配置VS2017项目环境

1)打开VS2017,工具栏“视图”-“其他窗口”-“属性管理器”-项目-Debug|x64-双击打开Microsoft.Cpp.x64.user:

“VC++目录”-“包含目录”-“箭头”-“编辑”-添加如下目录:

         G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include

         G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include\opencv

         G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include\opencv2

“库目录”-“箭头”-“编辑”-添加如下目录:

         G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\x64\vc15\lib

“链接器”-“输入”-“添加依赖项”-添加*\new_build\install\x64\vc15\lib中所有xxxd.lib文件名;

2)同理,针对Release|x64-双击打开Microsoft.Cpp.x64.user,附加依赖项中添加所有xxx.lib文件名;

3)复制有关动态库至系统目录下,将如下文件复制至 C:\Windows\System32 和 C:\Windows\SysWOW64 目录下;

注:

A.第二部实施完毕后,可能导致debug模式运行错误,则继续修改”附加依赖项“为全部xxxd.lib,来回修改方可成功(另外是否继承父类也可以修改);例,尝试修改x64的附加依赖关系还是出现x64 debug提示缺少xxx.lib而不是xxxd.lib则,右键项目-属性-添加依赖关系为xxxd.lib等;

B.若运行图像测试项目报错:无法打开“opencv_hdf343d.lib“,而通过修改检查”附加依赖项“中无该项,去掉勾选”继承父类“均解决不了,无法定位原因,这里先复制一个lib文件改为其名。

C.若编译提示“无法打开源文件(iostream之类的)”,是因为x64没有默认包含其他的头文件,在包含目录中输入:$(VC_IncludePath);$(WindowsSDK_IncludePath)。

6.相关文件

所有文件均存在百度网盘中(其中包括提取文件名的项目可用):

                    链接:https://pan.baidu.com/s/1RON7ksLEhRzWVnNUIMoFJg 
                    提取码:cryy

参考文章:

                    https://blog.csdn.net/weixin_42012977/article/details/82992962
                    https://blog.csdn.net/m0_37407756/article/details/79790417

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值