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

article/2025/10/26 6:44:00

本文首发于“小白学视觉”微信公众号,欢迎关注公众号

本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究!


经过几个月的努力,小白终于完成了市面上第一本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文件夹内,以备后续的安装使用。

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文件夹最重要,绝大多数文件都是垃圾文件,如果觉得硬盘存储量有限,可以选择性的删除一些文件。

 Ubuntu系统中安装扩展模块 

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

 

代码清单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】Ubuntu系统中安装OpenCV 4

经过几个月的努力,市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》将于今年12月左右由人民邮电出版社发行。如果小伙伴觉得内容有帮助,希望到时候多多支持!

关注小白的小伙伴可以提前看到书中的内容,我们创建了学习交流群,欢迎各位小伙伴添加小白微信加入交流群,添加小白时请备注“学习OpenCV 4”。


http://chatgpt.dhexx.cn/article/4mOi2ITl.shtml

相关文章

如何学习opencv源码

如何学习opencv源码 当你在使用opencv时,看到一个函数有没有想去了解他的源码,而又无从下手?这里我将带你脱离这种尴尬的境遇! 面对这个问题,我自己也查找过许多的资料,网上有这样一种做法,步骤如下&…

从零开始学习opencv——在虚拟环境下安装opencv环境

毕设准备做cv相关项目,今天开始学习cv基础知识,课程为B站“【不要再看那些过时的OpenCV老教程了】2022巨献,OpenCV零基础小白最新版全套教程(人工智能机器视觉教程)” 0.自行安装python3.7,注意版本不能过高或过低,注意安装64位版…

【学习OpenCV4】OpenCV入门精讲(C++/Python双语教学)

大家好,我在CSDN开的OpenCV课程已经开课了,入口如下: OpenCV入门精讲(C/Python双语教学) 课程开始快一周了,收到了广大同学们的欢迎。 (1)评分很高; (2&#…

opencv 深度学习

深度学习简史 深度学习很早就被提出,但一直停滞不前2011,微软在语言识别上使用,取得了突破2012,DNN在图像识别领域取得了惊人的效果,在ImageNet评测的错误率从26%降到了15%2016,AlphaGo击败人类&#xff0…

【学习OpenCV4】案例3:OpenCV Python语言开发环境搭建

本书分享内容来自图书学习OpenCV 4:基于Python的算法实战》,该书刚刚上市,是国内第一本系统讲解OpenCV4各个模块的图书,配套案例深入浅出的讲解。第一章有在各个平台搭建环境的介绍,后面每个章节都有对模块的导读、模块…

在pycharm2021.2中学习opencv图像处理,基于python3.9.7、pycharm完成配置

在pycharm中学习opencv图像处理 安装python下载python安装包开始安装 安装pycharm社区版下载pycharm安装包开始安装 启动pycharm创建第一个项目创建第一个项目设置项目存放路径首次运行python程序下载opencv-python库、添加解释器配置 开始图像处理的学习!打开下载好…

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

本文首发于“小白学视觉”微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。…

【从零学习OpenCV 4】了解OpenCV的模块架构

本文首发于“小白学视觉”微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。…

OpenCV入门基础学习

目录 一:OpenCV简介 二:OpenCV图像处理 图像 三:OpenCV图像处理 图像模式 四:OpenCV图像识别 图片操作 五:OpenCV图像处理 Mat类 六:OpenCV图像处理 图片 像素 七:OpenCV图像…

如何学习opencv

本文授权转载自贾老师的微信公众号"OpenCV学堂"。更多信息可扫描文末二维码关注公众号(知乎已将二维码转换成链接,可自动跳转到微信)。 一:学习OpenCV三个阶段 人工智能带火了计算机视觉的人才需求,作为计算…

学习opencv3 pdf_【资源分享】有哪些学习openCV的网站或书籍?

点击上方"蓝色小字"关注我呀 请让我再水一篇文扩充一下我的资源分享专栏吧,跟大家分享一些opencv的书籍和网站。书籍 先给大家贴个图: 大部分是我到处搜集来的,还有一些是花钱在某鱼上买来的,今天把下载链接分享给大家(如果失效了可以加我微信备注【视觉电子书】…

开始学习OpenCV

Mark 一下,今天开始学习OpenCV。 希望能够从事图像处理开发的工作。 第一次肯定是安装开发环境。 软件选择的是VS2017 C 和 opencv 4.5.1版本。 VS2017安装教程:vs2017安装和使用教程(详细)_悲恋花丶无心之人的博客-CSDN博客_vs2…

OpenCV教程:超详细的OpenCV入门教程,值得收藏

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 使用 C/C 开发&#…

8.2 OpenCV简介

OpenCV简介 学习目标 了解OpenCV是什么 能够独立安装OpenCV 1 什么是OpenCV 1.1 OpenCV简介 OpenCV是一款由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库,支持与计算机视觉和机器学习相关的众多算法,并且正在日益扩展。 Ope…

OpenCV怎么学?OpenCV入门到底要学多久?

首先先了解OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在linux、Windows、Android和MAC OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、…

【OpenCV学习】(四)图形绘制

【OpenCV学习】(四)图形绘制 背景 使用OpenCV进行图形绘制是一种必备的技能,在图像的任务中,不管是图像检测还是图像识别,我们都需要通过绘制图形和绘制文字对处理的结果进行说明,本篇就详细介绍下图形的…

通过opencv制作人脸识别的窗口,这也太疯狂了

@Author:Runsen 文章目录 使用Haar级联进行人脸检测Haar级联结合摄像头使用SSD的人脸检测SSD结合摄像头的人脸检测人脸检测,看似要使用深度学习,觉得很高大牛逼,其实通过opencv就可以制作人脸识别的窗口。 今天,Runsen教大家将构建一个简单的Python脚本来处理图像中的人脸…

opencv(人脸检测和识别)

Opencv的人脸检测函数,定义了具体可跟踪对象类型的数据文件。 Haar级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与已知对象是否匹配。 两个图像的相似程度可以通过它们对应特征的欧式距离来度量。距离可能以空间坐标或颜色坐标来定义。…

OpenCV:人脸检测

OpenCV是一个开源、跨平台的计算机视觉库,可以用于各种图像和视频处理操作。 所以接下来会分享一些关于OpenCV有趣的小案例,毕竟要让学习变得有趣。 本次就来了解一下,如何通过OpenCV对人脸进行检测。 其中OpenCV有C和Python两种&#xff0…

基于opencv实现人脸识别案例

一、基础 我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的 Haar 特征会被使用,就像我们的卷积核&a…