Qt中使用OpenCV(包含Contrib)环境搭建

10 篇文章 2 订阅
1 篇文章 0 订阅

安装CMake

        CMake是用于编译的基本工具,可以去官网https://cmake.org/download/上下载cmake-3.21.0-rc3-windows-x86_64.msi文件,双击启动安装。安装过程中勾选将cmake添加到系统path环境变量中。

检查系统环境变量

        检查window系统path环境变量,确保cmake的bin目录,Qt的版本bin目录和lib目录,以及Qt中tools下的bin目录被添加到path环境变量中。

环境变量配置

 下载OpenCV和Contrib

        OpenCV的官方地址https://opencv.org/releases/上可以下载需要的OpenCV版本,然后后去OpenCV的Github网站上下载Contrib,地址为https://github.com/opencv

        OpenCV官方将已经稳定成熟的功能放在opencv包里发布,而正在发展中尚未成熟的技术则统一置于Contrib扩展模块中。通常情况,下载的OpenCV不包括Contrib扩展库内容,如果只是一般的图片,视频处理,则仅使用OpenCV就够了。如果要使用SIFT,SURF等先进的图像特征检测技术,以及另外一些高级功能(如人脸识别)都在Contrib扩展库中。

编译前准备:

新建三个文件目录,分别为OpenCVSource,ContribSource,OpenCVBuild。分别存放解压的OpenCV代码,Contrib代码,以及编译后生成的文件和库。

检查并修改一下代码处问题:

  • 修改:D:\OpenCVSource\3rdparty\protobuf\src\google\protobuf\stubs\io_win32.cc文件,将“nullptr”改为“NULL”;
  • 修改:D:\OpenCVSource\modules\videoio\src\cap_dshow.cpp文件,增加宏定义#define  STRSAFE_NO_DEPRECATE;
  • 修改:D:\OpenCVSource\modules\photo\test\test_hdr.cpp文件,增加头文件#include<ctime>和#include<cstdlib>;

安装Python环境

        由于OpenCV某些模块运行依赖Python平台,所以需要Python环境支持,可以去Python官网https://www.python.org/downloads/windows下载合适的Python版本,默认配置,并检查一下bin目录是否被自动添加到path环境变量下。

编译配置

首先打开CMake,然后设置source目录和build目录,然后点击configure。弹出框,点击依次选择

Specify native complers;C/C++编译器选择mingw,在目录Qt\Qt5.11\tools\mingw\bin\gcc.exe以及g++.exe;

然后点击finish。

 对于下面选择需要设置

WITH_OPENGL为true
WITH_QT 为 true
WITH_IPP 为 false

WITH_MSMF为false
ENABLE_PRECOMPILED_HEADERS为 false
OPENCV_ENABLE_ALLOCATOR_STATS为 false
ENABLE_CXX11 为true
WITH_OPENCL_D3D11_NV为 false

OPENCV_EXTRA_MODULES_PATH为Contrilb-source/module目录

然后configure编译。

编译和安装OpenCV库

        打开OpenCVBuild目录,运行window命令行,输入命令mingw32-make开始编译,如果编译错误,检查编译配置步骤问题,编译成功后输入命令mingw32-make install安装OpenCV库。

        将OpenCVBuild\install\x86\mingw\bin下所有文件复制到Qt项目的Debug目录下。并在Qt项目的.pro文件中添加:

INCLUDEPATH += D:\OpenCVBuild\install\include
LIBS += D:\OpenCVBuild\install\x86\mingw\bin\libopencv_*.dll

 案例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值