美文网首页
Qt+OpenCV环境搭建

Qt+OpenCV环境搭建

作者: SatanZhang | 来源:发表于2018-09-02 03:49 被阅读0次

最近想学习的两样东西,Qt和OpenCV,之前都有短暂使用过,但是用的不多。本文从环境搭建开始写起。

本文使用的软件版本及下载地址

Windows7_ultimate_x64
Qt 5.11.1 官方下载地址
CMake 3.12.1 官方下载地址
OpenCV 3.4.3 官方下载地址

Qt


Qt在安装过程中需要选择编译器,本文使用C++作为开发语言,编译器可以选择MinGW或者MSVC,MSVC需要安装相应版本的Visual Studio作为支持,本文选择MinGW,在安装时要勾选相应版本的MinGW。


CMake

OpenCV是使用c/c++编写的,官方网站提供的版本Qt不能直接使用,需要使用CMake重新编译Qt可用的版本。安装时注意勾选“Add CMake to the system PATH for all users”。


OpenCV

安装直接运行就可以。安装完成后开始进行编译。

添加MinGW环境变量

在Path下增加MinGW的路径(根据自己的Qt安装路径有所不同,添加环境变量时注意用 ; 分隔),配置完成需要重启电脑才能生效。

C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin
C:\Qt\Qt5.11.1\Tools\mingw530_32\bin
编译OpenCV

运行cmake-gui.exe,分别选择OpenCV的源码路径和编译输出路径



点击Configure,进行配置如下,然后next



配置编译器路径,然后finish
C: C:/Qt/Qt5.11.1/Tools/mingw530_32/bin/gcc.exe
C++: C:/Qt/Qt5.11.1/Tools/mingw530_32/bin/g++.exe

第一次configure完成后,勾选 WITH_QT 和 WITH_OPENGL,再次点击configure



第二次configure完成后, 将CMAKE_BUILD_TYPE修改为 Release,再次点击configure



第三次configure完成后,点击generate,生成结束后,打开cmd,进入编译输出目录,执行编译指令(-j 表示多线程工作,电脑是几核的CPU,后面的参数就可以设为多少,可以节省编译时间)
d:
cd OpenCV
cd build-Qt
mingw32-make -j 4
mingw32-make install

编译过程中如果遇到类似这样的错误

... windres.exe: unknown option -- W ...

可以在配置Cmake时将 ENABLE_PRECOMPILED_HEADERS 关闭,重新进行编译。


编译过程中如果遇到类似这样的错误

 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope 

可以修改OpenCV的源文件,在cap_dshow.cpp文件中搜索

#include "DShow.h"

在这行代码前增加

#define NO_DSHOW_STRSAFE

然后重新编译可以解决。


编译过程中如果遇到类似这样的错误

using invalid field '{anonymous}::ComPtr<T>::p'

可以在Cmake配置中,将 WITH_MSFS 关闭,然后重新编译可以解决。


编译过程中如果遇到类似这样的错误

 ‘nullptr’ was not declared in this scope

可以在Cmake配置中,将 ENABLE_CXX11 打开,然后重新编译可以解决。


编译成功后,将编译生成的库添加到系统环境变量中,在Path中增加(根据自己的编译路径)

D:\OpenCV\build-Qt\install\x86\mingw\bin

测试Qt+OpenCV环境

新建一个QWindow项目,名为TestOpenCV,修改项目配置文件TestOpenCV.pro,在文件末尾增加文件包含路径及所需库文件

INCLUDEPATH += D:\OpenCV\build\include

LIBS += D:\OpenCV\build-Qt\bin\libopencv_core343.dll
LIBS += D:\OpenCV\build-Qt\bin\libopencv_highgui343.dll
LIBS += D:\OpenCV\build-Qt\bin\libopencv_imgcodecs343.dll
LIBS += D:\OpenCV\build-Qt\bin\libopencv_imgproc343.dll
LIBS += D:\OpenCV\build-Qt\bin\libopencv_features2d343.dll
LIBS += D:\OpenCV\build-Qt\bin\libopencv_calib3d343.dll

修改mainwindow.cpp文件如下

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // read an image
    cv::Mat image = cv::imread("d://1.jpg", 1);
    // create image window named "My Image"
    cv::namedWindow("My Image");
    // show the image on window
    cv::imshow("My Image", image);
}

MainWindow::~MainWindow()
{
    delete ui;
}

运行成功后环境搭建成功。

相关文章

  • Qt+OpenCV环境搭建

    最近想学习的两样东西,Qt和OpenCV,之前都有短暂使用过,但是用的不多。本文从环境搭建开始写起。 本文使用的软...

  • QT+OPENCV环境搭建

    涉及教程: 使用Qt带的MinGW+cmake编译opencv3.2 https://blog.csdn.net/...

  • React Native学习总结篇

    一、环境搭建 1.1 React Native环境搭建 1.1.1 IOS环境搭建 环境:MacOS 注意:不要使...

  • linux 第四天

    Lamp环境搭建 /*******************Lamp环境搭建:*******************...

  • codePush说明

    codePush环境搭建 环境搭建文章:环境搭建 git地址:codePush git地址2.0.3,And...

  • angular学习--02英雄指南

    环境搭建 angular官网--搭建本地开发环境和工作空间windows 10 搭建angular开发环境免搭建环...

  • Gradle开发-Groovy环境搭建

    ##Groovy环境搭建 在使用 Groovy 之前首先要搭建几个环境: Groovy 的环境搭建 JDK 环境搭...

  • 搭建 LNMP + CodeIgniter 开发环境

    搭建 LNMP + CodeIgniter 开发环境搭建 LNMP 环境首先搭建 LNMP 的服务器环境安装 Ng...

  • iOS中RN与Flutter混合开发

    一 搭建环境 1. 搭建flutter环境 1.1 搭建系统开发环境 参考链接:https://flutter....

  • 第一个MyBatis程序

    思路:搭建环境---导入MyBatis--编写代码---测试! 一、搭建环境 1、搭建数据库环境: engine=...

网友评论

      本文标题:Qt+OpenCV环境搭建

      本文链接:https://www.haomeiwen.com/subject/jqndwftx.html