无奈电脑系统重装,又到了要重新配置环境的时候了,正好就顺便写一篇博客记录下整个配置过程吧~

本文是基于当前时间的最新发布的工具环境的搭建教程: OpenCV4.1.1  QT5.13  QtCreater4.9.1  MinGW730_64

目录

1,安装前准备

2,安装QT

3,安装Cmake

4,(最关键的来了!)安装,编译Opencv4.1.1

5,编写QT测试程序,调用已经编译好的opencv库。


 

1,安装前准备

首先,你需要准备的安装文件有opencv,cmake,qt三个:

(1)Opencv 4.1.1

    下载地址:  https://opencv.org/releases/

    文件名:opencv-4.1.1-vc14_vc15.exe

Opencv4安装contrib扩展_QT5.13

(2) qt-5.13.0

下载地址:http://download.qt.io/archive/qt/5.13/5.13.0/

文件名:qt-opensource-windows-x86-5.13.0.exe

Opencv4安装contrib扩展_opencv_02

(3)cmake-3.15.2

下载地址: https://cmake.org/download/

文件名:cmake-3.15.2-win64-x64.msi

Opencv4安装contrib扩展_opencv_03

 

准备好以上三个文件后,下面就是正式开始搭建开发环境了!!

2,安装QT

(1)直接下一步

Opencv4安装contrib扩展_opencv4.1.1_04

(2)这边不填,直接skip即可

Opencv4安装contrib扩展_opencv_05

(3)指定你的QT安装目录

Opencv4安装contrib扩展_Opencv4安装contrib扩展_06

(4)这里注意!!选择组件请务必勾选MinGw7.3.0,并且根据本机系统选择32位或者64位安装,这里因为我的电脑是64位的所以选择的是64bit版本的mingw

Opencv4安装contrib扩展_opencv4.1.1_07

Opencv4安装contrib扩展_QT_08

(5)选择同意协议

Opencv4安装contrib扩展_QT5.13_09

(6)下面一路下一步就可以开始安装了

Opencv4安装contrib扩展_QT5.13_10

(7)安装完成后,需要将MinGw配置到系统环境变量中,首先打开 此电脑-》属性-》高级系统设计-》环境变量

Opencv4安装contrib扩展_opencv4.1.1_11

(8)找到环境变量里的系统变量,双击点开path,新添加一条,将你QT安装目录里的\Tools\mingw730_64\bin 的地址,完完整整复制到这里,例如我的是D:\WorkApp\QT\Tools\mingw730_64\bin,至此,QT安装部分已完成。

Opencv4安装contrib扩展_Opencv4安装contrib扩展_12

3,安装Cmake

(1)双击cmake-3.15.2-win64-x64.msi,一路下一步,如图示选择,继续下一步,选择好安装目录后安装就搞定了

Opencv4安装contrib扩展_opencv_13

 

4,(最关键的来了!)安装,编译Opencv4.1.1

(1)双击opencv-4.1.1-vc14_vc15.exe,选择一个路径解压OpenCV4.1.1的源代码

Opencv4安装contrib扩展_QT5.13_14

(2)等待源代码解压完成

Opencv4安装contrib扩展_QT_15

(3)解压完成后,启动刚刚安装好的Cmake程序,自己填写OpenCV刚刚解压的源码目录,以及自己新建一个文件夹用于存放编译完成的opencv,填写到下一行的编译目标目录,然后点击下方的configure按钮进行第一次配置。

Opencv4安装contrib扩展_Opencv4安装contrib扩展_16

(4)选择MinGw Makefiles,然后选择第二项,完成后点击下一步

Opencv4安装contrib扩展_QT5.13_17

(5)指定c编译器和c++编译器的路径,请找到你的QT目录\Tools\mingw730_64\bin下的gcc.exe和g++.exe程序,依次对应填写。

    例如我的路径是:

C:D:/WorkApp/QT/Tools/mingw730_64/bin/gcc.exe

        C++:D:/WorkApp/QT/Tools/mingw730_64/bin/g++.exe

Opencv4安装contrib扩展_Opencv4安装contrib扩展_18

(6)等待第一次configure完成。(configure到最后可能会下载opencv_videoio_ffmpeg相关库文件,如果没有“”的话可能会比较久)

Opencv4安装contrib扩展_opencv4.1.1_19

(7)configure完成后,需要配置一些参数。

在第三行的Search中,搜索WITH_QT,打勾。

Opencv4安装contrib扩展_opencv_20

搜索WITH_OPENGL,打勾。

Opencv4安装contrib扩展_Opencv4安装contrib扩展_21

搜索ENABLE_PRECOMPILED_HEADERS,取消打勾。

Opencv4安装contrib扩展_QT_22

搜索QT5_DIR,将“你的QT路径\5.13.0\mingw73_64\lib\cmake\Qt5”填进去。 例如我的是:D:\WorkApp\QT\5.13.0\mingw73_64\lib\cmake\Qt5,完成以上操作后点击Configure进行第二次Configure。

Opencv4安装contrib扩展_Opencv4安装contrib扩展_23

(8)第二次Configure完成后,点击Generate生成opencv编译文件到目标目录。

Opencv4安装contrib扩展_QT_24

(9)Generating done之后,打开win10的Windows PowerShell命令行,输入命令cd 进入到你的opencv的目标目录,然后开始编译(这次编译比较耗时间,具体耗时长短由你的CPU性能而定)。

        编译命令:

mingw32-make.exe -j (线程数量)

        (线程数量根据自己电脑cpu性能酌情填写。4核CPU就填4,8核心就填8,以此类推,例如我是4核心的就填“mingw32-make.exe -j 4”即可)

Opencv4安装contrib扩展_QT_25

(10)漫长的等待后,终于完成了,完成之后输入命令“mingw32-make.exe install”完成最后的编译,完成后,opencv库的编译已经成功。

mingw32-make.exe install

Opencv4安装contrib扩展_Opencv4安装contrib扩展_26

(11)将opencv编译好的库文件路径加入系统变量path中。

Opencv4安装contrib扩展_opencv_27

(12)最后再添加一个新的环境变量名字 OPENCV_SDK_DIR 变量值就是你编译好的opencv目录的install文件夹的路径,示例如下图

Opencv4安装contrib扩展_opencv_28

 

5,编写QT测试程序,调用已经编译好的opencv库。

(1)进入QT Creater4.9.1

Opencv4安装contrib扩展_Opencv4安装contrib扩展_29

(2)新建QT工程,选择QT Widgets Application,

Opencv4安装contrib扩展_QT_30

(3)设置工程名称,工程存放路径,一路下一步

Opencv4安装contrib扩展_QT5.13_31

 

Opencv4安装contrib扩展_Opencv4安装contrib扩展_32

 

Opencv4安装contrib扩展_Opencv4安装contrib扩展_33

 

(4)创建工程成功后,首先我们先随便准备一张图片,然后进入工程配置文件hello_opencv411.pro中,添加所需要用到的opencv库

示例代码:

#-------------------------------------------------
#
# Project created by QtCreator 2019-09-01T22:28:36
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = hello_opencv411
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \
        main.cpp \
        mainwindow.cpp

HEADERS += \
        mainwindow.h

FORMS += \
        mainwindow.ui

INCLUDEPATH += $$(OPENCV_SDK_DIR)/include

LIBS += -L$$(OPENCV_SDK_DIR)/x64/mingw/lib \
        -lopencv_core411        \
        -lopencv_highgui411     \
        -lopencv_imgcodecs411   \
        -lopencv_imgproc411     \
        -lopencv_features2d411  \
        -lopencv_calib3d411

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

Opencv4安装contrib扩展_opencv4.1.1_34

 

(5)转到mainwindow.cpp,include要用到的opencv头文件,调用opencv库函数,利用opencv显示一张你的图片

示例代码:

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

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace  cv;

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

    //加载一张图片
    Mat image = imread("D://qtProject/1.jpg");

    //新建一个窗口,显示该图片
    imshow("My Image", image);
}

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

 

Opencv4安装contrib扩展_QT_35

 

(6)程序执行后,我们就能看到程序成功调用了我们刚刚编好的opencv库,显示出了一张图片,至此你已完成了全部的搭建操作。

Opencv4安装contrib扩展_QT_36