11

一次搞定OpenCV源码及扩展模块的编译与环境配置

 3 years ago
source link: https://mp.weixin.qq.com/s/JbQeC-_qVFREAclpbSXv8w
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一次搞定OpenCV源码及扩展模块的编译与环境配置

Original 进阶的花生 3D视觉工坊 4/4
收录于话题
#OpenCV

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

Image

版本:VS2017、CMake3.12.3、OpenCV3.4.7 

安装OpenCV时的环境配置以及扩展模块的编译对于多数新手来说都是令人头疼的问题,希望通过这篇文章可以帮助新手们一次搞定OpenCV的安装与扩展模块编译问题。

第一步:安装软件

1、安装VS(这里用的版本是VS2017),在微软官网可直接下载。

2、安装OpenCV,建议将扩展模块部分也一起下载。

①需要登陆opencv官方github网站戳这里,打开页面点击上方releases

Image

②找到要安装的opencv版本,先点击Assets,再选择Source code (Zip)下载压缩包。

640?wx_fmt=png

③将压缩包(opencv-3.4.7)解压到指定路径下得到opencv源码source

640?wx_fmt=png
640?wx_fmt=png

④下载扩展模块,需要先找到opencv_contrib戳这里,同样点击releases

640?wx_fmt=png

⑤进入后选择与自己的opencv源码版本一致的opencv扩展模块点击zip下载压缩包

640?wx_fmt=png

⑥将压缩包(opencv_contrib-3.4.7)解压到指定路径下,建议和opencv解压缩后的文件放在同一个文件夹中。

640?wx_fmt=jpeg

点开文件夹的样子如下,其中modules中存放着opencv中的扩展模块:

640?wx_fmt=jpeg

到此为止,我们的opencv及其扩展模块就安装完成了。

 3、安装编译工具CMake

①进CMake的官方网址下载即可。戳这里

要注意的是,选择的CMake版本要与opencv的版本兼容,这里选择的CMake版本为3.12.3,选择msi文件下载。

640?wx_fmt=png

②第一次进入会出现下面的弹窗,按如下勾选:

640?wx_fmt=png

其余出现的接受协议,存储路径等弹窗,就一路确定下来就好,这样就完成了CMake的安装。

第二步:编译OpenCV中的扩展模块

使用编译工具CMake,其界面如下所示:

640?wx_fmt=png

1、首先在CMake中添加源码地址与结果保存地址,结果保存地址可以自己创建,建议和OpenCV中的source建立在一个文件夹下,这里为build文件夹。

640?wx_fmt=png
2、点击configure,首次点击会要求选择VS版本(这里采用的是VS2017),按如下进行勾选:
640?wx_fmt=jpeg
  3、configure结束后如果没有出现报错,则点击generate,如果出现报错,需要先排除报错,可以先多试几次configure,直到不报错。
640?wx_fmt=png
 

4、添加扩展模块路径

在上方勾选框中找到如下所示的模块路径,将扩展模块中的modules路径添加进去,将其上方的OPENCV_ENABLE_NONFREE勾选上,将world选项也勾选上,其余的可以先不动(按照默认)。

640?wx_fmt=png
640?wx_fmt=png
 5、然后重新进行configure,直到上方勾选框全部变白,然后点击generate,配置完成。

6、这时在build中找到OpenCV.sln打开

640?wx_fmt=png
7、在资源管理器中找到INSTALL,右键点击生成(如果不是第一次就点击重新生成)
640?wx_fmt=png
8、生成结束后,在build的文件夹下将会有一个新出现的install文件夹,这个文件夹就是最终得到的包含了扩展模块的opencv框架。
640?wx_fmt=png
第三步:环境配置

配置OpenCV与VS2017

1、配置环境变量

①找到CMake编译后的\build\install\x64\vc15\bin文件夹,复制其路径。

640?wx_fmt=png
②找到本机的高级系统设置(在文件夹中右击此电脑选择属性可以找到),点击进入。
640?wx_fmt=png
③进入后点击环境变量然后找到Path系统变量,双击进入。
640?wx_fmt=png
④点击新建,将刚刚复制的路径粘贴进去,然后一路点击确定。
640?wx_fmt=png
2、配置包含目录

① 打开VS2017,切换窗口为属性管理器

640?wx_fmt=png
②在属性管理器中按如下操作进入属性页
640?wx_fmt=png
③进入属性页后双击包含目录,点击右侧出现的角标进入编辑
640?wx_fmt=png
④进入后添加路径分别为编译生成的install下的几个文件夹,分别为install\include、install\include\opencv、install\include\opencv2,全部添加完成后点击确定。
640?wx_fmt=png
3、配置库目录

①进入属性页后双击库目录,点击右侧出现的角标进入编辑

640?wx_fmt=png
②进入后添加路径为编译后install下的文件夹install\x64\vc15\lib,添加完成后点击确定。
640?wx_fmt=png
4、配置链接文件

打开属性页中链接器中的输入,将附加依赖项改为和自己的opencv版本匹配即可,完成后点击属性页下方的确定。例如:我用的opencv版本是3.4.7,则附加依赖项为opencv_world347d.lib,具体可在install\x64\vc15\lib中查看

640?wx_fmt=png
640?wx_fmt=jpeg
第四步:测试扩展模块

这里以扩展模块中常用的xfeature2D模块为例,调用包含其中的SIFT实现特征检测:

640?wx_fmt=png

输出结果如下:

640?wx_fmt=png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK