前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【从零学习OpenCV 4】opencv_contrib扩展模块的安装

【从零学习OpenCV 4】opencv_contrib扩展模块的安装

作者头像
小白学视觉
发布2019-10-15 19:34:23
2K0
发布2019-10-15 19:34:23
举报
文章被收录于专栏:深度学习和计算机视觉

经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。

安装完成基础模块后,已经可以满足大多数初学人员的正常使用。然而有很多非常实用的功能并没有被集成在基础模块中,而是被放在了opencv_contrib扩展模块中,例如人脸识别、生物视觉、特征点提取等众多非常强大的功能。扩展模块是对基础功能的补充,由于某些算法具有专利保护,无法放在基础模块中,而这部分算法却是学习图像处理常用的算法,例如,大名鼎鼎的有专利保护的SIFT特征点提取算法就在这个扩展模块中,虽然有专利,但是使用OpenCV的开发者依然可以免费用于非商业用途。本小节将为读者介绍如何在Windows和Ubuntu系统中安装opencv_contrib扩展模块。

首先需要在GitHub上获取与自己OpenCV版本相匹配的opencv_contrib安装包,为节省读者寻找安装包的时间,本书资源的3rdparty中提供了opencv_contrib 4.0和4.1两个版本的安装包。下载安装包后,将安装包解压到先前的opencv文件夹内,以备后续的安装使用。

01

Windows系统中安装扩展模块

在Windows系统中安装opencv_contrib扩展模块需要用到CMake编译器,在CMake官网下载.msi安装包,通过双击直接完成安装任务。本书使用的是CMake 3.7.0版本,这里需要注意,由于OpenCV版本更新速度慢于CMake,因此不推荐使用过高版本的CMake编译器,只要满足OpenCV 4.0要求的最低版本即可,因此为了减少读者编译过程中的错误,建议与笔者使用同版本的CMake。打开安装好的CMake软件,可以看到如图1-17所示的页面。我们需要选择OpenCV源码所在地址与编译文件的输出地址。源码放在了“…\opencv\sources”文件夹中,为了与OpenCV原有文件区分,在 “…\opencv”中创建一个名为newbuild文件夹用于存放编译输出文件。

图1-17 CMake编译界面

之后通过点击【Configure】按钮,选择将源码编译成与Visual Studio版本相对应的项目工程文件,作者安装的是Visual Studio 2015,同时想使用64位的OpenCV,因此选择“Visual Studio 14 2015 Win64”选项,同时选择本地编辑器“Use default native compilers”。选择配置的操作界面如图1-18所示。

图1-18 配置Visual Studio版本与编译工程的位数

之后再次点击【Configure】开始构建,当出现“Configuring done”后说明构建成功,在CMake界面会出现很多变量,如图1-19所示。首先找到“BUILD_opencv_world”和“OPENCV_ENABLE_NONFREE”这两个变量,在变量后面的方框内打上“√”。第一个变量的含义是生成一个大的.lib文件,在配置链接器时只有一个“opencv_world410d.lib”文件。第二个变量的含义是为了在编译成功后可以使用具有专利保护的算法,如果该变量不被选中,就不能使用例如SIFT算法在内的具有专利保护的算法,之后找到“OPENCV_EXTRA_MODULES_PATH”变量,该变量的含义是告诉编译器扩展包的源码在哪里,选择我们刚才下载的opencv_contrib安装包里的modules文件夹。如果这个变量为空,在编译过程中也不会报错,只是安装了OpenCV的基础版。

图1-19 Configuring Done后的CMake界面

再次点击【Configure】,直到所有的红色变量变成白色,之后点击【Generate】开始编译。编译成功后会在newbuild文件夹中生成许多文件,找到OpenCV.sln文件,用Visual Studio 2015打开该文件并重新生成解决方案,这个过程会比较漫长。经过漫长时间的等待,在资源管理器中找到CMakeTargets中的INSTALL文件,右键选择“仅用于项目”中的“仅生成INSTALL”,会在newbuild文件夹中生成一个名为install的文件夹,我们用来环境配置的所有文件都存放在这个文件夹中。按照前面介绍的配置OpenCV环境的方式配置即可。

提示

编译后newbuild 文件夹非常的大,会有几个G的文件,但是除了install文件夹最重要,绝大多数文件都是垃圾文件,如果觉得硬盘存储量有限,可以选择性的删除一些文件。

02

Ubuntu系统中安装扩展模块

在Ubuntu系统中安装扩展模块比较容易,只需要将代码清单1-6中的cmake命令进行修改,添加上扩展安装包的路径即可,具体内容在代码清单1-11中给出,其余步骤与安装OpenCV基础模块没有区别。

代码语言:javascript
复制
代码清单1-11 编译OpenCV命令
1.  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

从零学习OpenCV 4往期推荐

【从零学习OpenCV 4】Windows系统中安装OpenCV 4

【从零学习OpenCV 4】4Ubuntu系统中安装OpenCV 4

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档