opencv3.4.10+opencv-contrib编译(续)

https://blog.youkuaiyun.com/qq_40877284/article/details/106291700
对于安装和编译过程中的一些其他的错误,接师兄的博客,补充一些内容
加粗斜体为补充内容
OpenCV3.4.10+opencv_contrib编译

  1. 源码
    opencv及opencv contrib可在opencv的GitHub官网下载:

https://github.com/opencv/opencv/
https://github.com/opencv/opencv_contrib/
为节省大家的时间这里给出整理好的地址:

链接:https://pan.baidu.com/s/1RBHxWeECmumhXQks55XCmA
提取码:ob1a
下载好后,新建一个opencv文件夹,并在该目录下新建一个build文件夹和一个source文件夹,然后将源码解压到本地(可以选择按图中重命名):
(为避免之后利用VS编译时的错误,首先将以下文件解压后拷入opencv_contrib/modules/xfeatures2d/src内,
链接:https://pan.baidu.com/s/13rdsQSaOvoPWrHVOvYumIg
提取码:eggb )

在这里插入图片描述
在这里插入图片描述

2.CMake
CMake是一个跨平台的编译工具,用于输出makefile或者project文件。这里给大家准备的是CMake3.7版本的链接:

链接:https://pan.baidu.com/s/1nTK2g_IpUOmon1zO2duWxw
提取码:v1mk
下载好,安装后运行cmake-gui.exe。
***(注意!!!电脑首次安装VS2015的用户,第一,先把之前版本的VS彻底删除干净之后再安装VS2015,不然容易安装失败,在打开CMAKE之前,首先应该打开VS2015,点击创建新项目,会让你再安装一个东西,不安装无法进行CMAKE编译)***在这里插入图片描述

(安装Cmake的过程中,要点上为你自动配置路径,具体是在是否为你创建桌面快捷方式的那一栏,点第二行或第三行英文都可。)
首先将目录填写如下:
在这里插入图片描述
上面一条是源文件的路径,下面一条是生成的vs工程文件所在的路径,输入好路径后点击左下Configure,注意在弹出的窗口中勾选如下(此处选择的为vs2015 ×64):在这里插入图片描述

然后点击Finish生成一下,在一定时间后会提示Configuring Done!但仍有红色提示:在这里插入图片描述
此处注意!!!!!!!!!!!!!!!!
由于使用源码编译是为了使用图像匹配所用到的种种算法(如sift、surf等),需要将nofree勾选上!!!!!不然会编译成功但仍然使用不了这些算法!!!!

同时,由于这些算法封装在opencv contrib当中,需要为OPENCV_EXTRA_MODULES_PATH添加路径,这一部分整体需要做到如图:在这里插入图片描述
路径为:<你的路径>/opencv/source/opencv_contrib/modules

!!!!!可以勾选opencv_world选项让生成的dll文件只有opencv_world一个,这样调用起来更加方便。!!!
在这里插入图片描述
(这个opencv_world千万不要点!!!!点上了会有很多莫名其妙的错误目前还没找到解决方法)
然后重复Configure直至没有红色提示为止,此时点击Generate生成vs工程文件。

3.运行VS
以管理员身份运行vs2015,并打开build文件下的OpenCV.sln
(对于可能产生的错误 opencv2/xfeatures2d/cuda.hpp: No such file or directory 类问题的解决方法
1.更改绝对路径为相对路径:
用管理员身份打开VS2015后打开 你的路径/opencv/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp
找到第42行在这里插入图片描述
改为绝对路径在这里插入图片描述
上图中的路径为网上其他博主的路径,改为你的xfeatures2d.hpp文件的路径即可
其余的找不到文件的错误都可以这么更改
2.如果还有找不到或者打不开文件的错误,打开VS 找到opencv_stitching在这里插入图片描述
然后“配置属性” -》 VC++目录 -》 包含目录
在其中添加三个路径
你的路径\opencv\build\install\include;
你的路径\opencv\build\install\include\opencv;
你的路径\opencv\build\install\include\opencv2;
注意 更改完后在解决方案里找到INSTALL并在Debug和Release环境下生成前,需要分别在debug和release环境下添加这三个路径

在这里插入图片描述

在解决方案里找到INSTALL并在Debug和Release环境下分别右击生成一下,需要一段时间就编译成功了!此时在build文件的install文件下就会生成相应的dll文件。在这里插入图片描述

4.环境配置
第一步:配置Path系统环境变量
此电脑-右键“属性”-高级系统设置
在这里插入图片描述
在这里插入图片描述
找到Path进行编辑
把之前解压(安装)好的OpenCV路径下的bin路径添加到Path系统环境变量中。
在这里插入图片描述
(路径的问题因为这里引用的是他人的图片,所以根据你自己设置的路径设置)
【建议】配置完系统变量后重启电脑
第2步:配置VS2015
新建一个C++的win32控制台项目
依此点击【文件】→【新建】→【项目】→【Win32控制台应用程序】,结果如下图所示:
在这里插入图片描述
选择【视图】–【其他窗口】–【属性管理器】,结果如下图所示:
在这里插入图片描述
左侧出现如下图所示窗口:

在这里插入图片描述
工程文件下边会有一个Debug|x64的文件夹,点开后有名称为Microsoft.Cpp.x64.user的文件。

右键选择该文件,选择【属性】,如下图所示:在这里插入图片描述
然后选择通用属性下的VC++目录,右边会有包含目录和库目录。

准备添加后续的包含目录、库目录和动态链接库。请继续往下看。
包含目录的添加
在这里插入图片描述
在弹出的对话框中,添加以下三条路径:
你的路径\opencv\build\install\include;
你的路径\opencv\build\install\include\opencv;
你的路径\opencv\build\install\include\opencv2;
其实这些都是刚才OpenCV相关解压文件所在的目录 这三条路径要依据自己配置OpenCV的路径进行修改.
修改完以后如下图所示:
在这里插入图片描述
(图片的路径也是网上找寻的图片,路径配置要根据你实际安装opencv的路径来配置)
包含目录添加完毕。
库目录的添加
如下图所示,点击【库目录】的下拉菜单,点击【编辑】,如下图所示:在这里插入图片描述
在【库目录】添加下面一条路径

你的路径\opencv\build\x64\vc14\lib

结果如下图所示:(图片中路径问题不再解释)
在这里插入图片描述
库目录添加完毕。
动态链接库的添加
还是刚才的属性页面,点击【链接器】,选择【输入】,会在右侧看到【附加依赖项】,如下图所示
在这里插入图片描述
点击【编辑】,添加如下列文件:
opencv_aruco3410d.lib
opencv_bgsegm3410d.lib
opencv_bioinspired3410d.lib
opencv_calib3d3410d.lib
opencv_ccalib3410d.lib
opencv_core3410d.lib
opencv_datasets3410d.lib
opencv_dnn_objdetect3410d.lib
opencv_dnn3410d.lib
opencv_dpm3410d.lib
opencv_face3410d.lib
opencv_features2d3410d.lib
opencv_flann3410d.lib
opencv_fuzzy3410d.lib
opencv_hdf3410d.lib(这个文件因为不可描述的原因添加后打不开,所以建议直接不添加改文件)
opencv_hfs3410d.lib
opencv_highgui3410d.lib
opencv_img_hash3410d.lib
opencv_imgcodecs3410d.lib
opencv_imgproc3410d.lib
opencv_line_descriptor3410d.lib
opencv_ml3410d.lib
opencv_objdetect3410d.lib
opencv_optflow3410d.lib
opencv_phase_unwrapping3410d.lib
opencv_photo3410d.lib
opencv_plot3410d.lib
opencv_reg3410d.lib
opencv_rgbd3410d.lib
opencv_saliency3410d.lib
opencv_shape3410d.lib
opencv_stereo3410d.lib
opencv_stitching3410d.lib
opencv_structured_light3410d.lib
opencv_superres3410d.lib
opencv_surface_matching3410d.lib
opencv_text3410d.lib
opencv_tracking3410d.lib
opencv_video3410d.lib
opencv_videoio3410d.lib
opencv_videostab3410d.lib
opencv_xfeatures2d3410d.lib
opencv_ximgproc3410d.lib
opencv_xobjdetect3410d.lib
以上是在debug环境下的配置,在Release环境下我们同样需要配置一遍,步骤和在debug下一样,唯一的区别是在添加一系列lib文件 时 需要把d去掉 即debug下添加opencv_aruco3410d.lib
release下添加opencv_aruco3410.lib

以上就是配置opencv环境的全部步骤,但需要注意,每新建一个程序都需要再执行一遍配置VS2015的环境变量,如果不想每次都要添加,可以在配置时,右键Debug|x64的文件夹,点击添加新项目属性表,将之保存在桌面或者你想保存的位置,比如将其保存为opencv debugX64 ,随后你可以对这个opencv debugX64 经行上述步骤的配置,release下同理,这样你就可以每次新建项目的时候省略重复添加的步骤,直接在Debug|x64的文件夹下添加你之前保存的opencv debugX64文件。 Release下同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值