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

小白学视觉

共 2620字,需浏览 6分钟

 ·

2021-06-24 19:21

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|计算机视觉工坊

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

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

第一步:安装软件

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

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

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

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

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

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

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

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

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

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

 3、安装编译工具CMake

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

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

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

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

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

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

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

2、点击configure,首次点击会要求选择VS版本(这里采用的是VS2017),按如下进行勾选:

  

3、configure结束后如果没有出现报错,则点击generate,如果出现报错,需要先排除报错,可以先多试几次configure,直到不报错。

 

4、添加扩展模块路径

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

 

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

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

7、在资源管理器中找到INSTALL,右键点击生成(如果不是第一次就点击重新生成)

8、生成结束后,在build的文件夹下将会有一个新出现的install文件夹,这个文件夹就是最终得到的包含了扩展模块的opencv框架。

第三步:环境配置

配置OpenCV与VS2017

1、配置环境变量

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

②找到本机的高级系统设置(在文件夹中右击此电脑选择属性可以找到),点击进入。

③进入后点击环境变量然后找到Path系统变量,双击进入。

④点击新建,将刚刚复制的路径粘贴进去,然后一路点击确定。

2、配置包含目录

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

②在属性管理器中按如下操作进入属性页

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

④进入后添加路径分别为编译生成的install下的几个文件夹,分别为install\includeinstall\include\opencvinstall\include\opencv2,全部添加完成后点击确定。

3、配置库目录

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

②进入后添加路径为编译后install下的文件夹install\x64\vc15\lib,添加完成后点击确定。

4、配置链接文件

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


第四步:测试扩展模块

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

输出结果如下:


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报