Qt之CMake和MinGW编译OpenCV独立模块opencv_contrib

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/zbw1185/article/details/82670141

相关内容

opencv_contrib简介

OpenCV3.0专注于模块化,并进一步分为官方OpenCV主库和由用户维护的独立模块opencv_contrib。opencv_contrib库为非稳定版本,非OpenCV官方发布和维护,可以看做是对opencv的扩展,包含了众多具有实用价值的模块,诸如人脸识别、深度神经网络、目标跟踪等等,详细模块如下图:

这里写图片描述

接口文档:https://docs.opencv.org/3.4/index.html

下载地址

https://github.com/opencv/opencv_contrib

这里写图片描述

注意:要下载与OpenCV主库一致的版本
这里写图片描述

opencv_contrib编译步骤

opencv_contrib库的编译步骤与OpenCV库的编译步骤基本一致,有了前面OpenCV库成功编译的经验,这里就顺利多了。

在opencv安装的同级目录下创建文件夹buildOpencvContrib,用来存放构建文件及生成的opencv_contrib库文件。

这里写图片描述

编译前配置

1、打开 cmake-gui,设置源码和生成路径:

  • Where is the source code :H:\opencv3.4.3\opencv\sources (opencv安装目录)

  • Where to build the binaries:H:\opencv3.4.3\buildOpencvContrib (新建的文件目录)
    然后点击Configure,在弹框里选择编译器,点击Next,如下图:

这里写图片描述

2、在弹窗里设置编译器目录,然后点击Finish

  • D:\Qt\Qt5.9.4\Tools\mingw530_32\bin\gcc.exe

  • D:\Qt\Qt5.9.4\Tools\mingw530_32\bin\g++.exe
    这里写图片描述

3、点击Finish之后需要等待一段时间,等到进度条读完之后,开始配置:

  • 勾选 WITH_QT

  • 勾选 WITH_OPENGL

这里写图片描述

勾选之后点击上图的Configure,等到进度条读完之后,继续配置,因为此前编译过OpenCV,所以这里的DIR相关路径无需再设置,点击右上角的Add Entry,然后在弹窗中输入:

  • QT_MAKE_EXECUTABLE

  • FILEPATH

  • D:\Qt\Qt5.9.4\5.9.4\mingw53_32\bin\qmake.exe

这里写图片描述

点击OK之后,继续配置,找到OPENCV_EXTRA_MODULES_PATH选项,添加opencv_contrib包的modules目录:

这里写图片描述

然后点击Configure- Generate,等待进度条读完之后,配置完成。

编译命令

在构建目录buildOpencvContrib下按shift+右键,打开终端,然后执行编译命令:

mingw32-make

等到编译完成(100%)之后执行安装命令,会在相关目录下生成库文件:

mingw32-make install

编译错误

编译过程中可能会遇到下面的错误:

  • C++11错误

这里写图片描述

解决:打开 cmake-gui,勾选 ENABLE_CXX11,然后重新Configure-Generate-mingw32-make

  • cap_msmf.cpp文件出错

这里写图片描述

解决:打开 cmake-gui ,不勾选WITH_MSMF,然后重新Configure-Generate-mingw32-make

生成opencv_contrib库

编译安装完成后,生成的库在H:\opencv3.4.3\buildOpencvContrib\install\x86\mingw\bin目录下 :

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zbw1185/article/details/82670141