基于64位win10系统的QT+opencv环境配置

1 硬件环境

PC:Thinkpad T480 Windows10 64位

2 所需软件

2.1 cmake

cmake:cmake-3.16.2-win64-x64.msi

链接: https://pan.baidu.com/s/1lfwLCXun0FCSounZW33-zg 提取码: nvk9

或者官网下载:https://cmake.org/download/

2.2 QT & qt creator

QT:qt-opensource-windows-x86-5.13.0.exe

链接: https://pan.baidu.com/s/1rNMRJBYTvGXQwLqj-lrwrg 提取码: w2nf

或者官网下载:http://download.qt.io/archive/qt/5.13/5.13.0/

2.3 opencv

opencv:opencv-2.4.9.zip

链接: https://pan.baidu.com/s/14QuJWwAIPWYjftMTGNMh5A 提取码: vcui

或者官网下载:https://opencv.org/releases/page/5/

3 软件安装

3.1 cmake安装

cmake安装步骤如下:

双击cmake-3.16.2-win64-x64.msi开始安装

基于64位win10系统的QT+opencv环境配置_第1张图片

点击next,继续

基于64位win10系统的QT+opencv环境配置_第2张图片

勾选accept license,然后点击next继续

基于64位win10系统的QT+opencv环境配置_第3张图片

选择“Add CMake to the system PATH for all users”以及“Create CMake Desktop Icon”,这一步是为所有用户添加cmake环境变量以及创建桌面图标,然后点击next继续

基于64位win10系统的QT+opencv环境配置_第4张图片

基于64位win10系统的QT+opencv环境配置_第5张图片

点击install,继续

基于64位win10系统的QT+opencv环境配置_第6张图片

点击finish完成安装,完成安装后的桌面图标以及程序运行界面如下:

基于64位win10系统的QT+opencv环境配置_第7张图片

 

3.2 qt & qt creator安装

双击qt-opensource-windows-x86-5.13.0.exe开始安装

基于64位win10系统的QT+opencv环境配置_第8张图片

点击next继续

基于64位win10系统的QT+opencv环境配置_第9张图片

点击skip,跳过配置继续

基于64位win10系统的QT+opencv环境配置_第10张图片

点击下一步继续

基于64位win10系统的QT+opencv环境配置_第11张图片

点击下一步继续

基于64位win10系统的QT+opencv环境配置_第12张图片

在QT->QT5.13.0选项中,勾选MinGW 7.3.0 64-bit选项

基于64位win10系统的QT+opencv环境配置_第13张图片

在Developer and designer tools QT creator 4.9.1中勾选QT creator 4.9.1 CDB debugger support选项和MinGW 7.3.0 64-bit选项,然后点击下一步继续

基于64位win10系统的QT+opencv环境配置_第14张图片

勾选"read and accept license",然后点击下一步继续

基于64位win10系统的QT+opencv环境配置_第15张图片

点击下一步继续

基于64位win10系统的QT+opencv环境配置_第16张图片

点击安装继续

基于64位win10系统的QT+opencv环境配置_第17张图片

取消勾选launch QT creator选项,然后点解完成。

 

基于64位win10系统的QT+opencv环境配置_第18张图片

在此电脑上邮件选择属性,然后点击高级系统设置,在弹出窗口中点击环境变量,在弹出的环境变量窗口中,双击

基于64位win10系统的QT+opencv环境配置_第19张图片

点击新建,将安装后的MinGW环境变量加入,如下:

注意:此处仅供参考,具体的环境变量位置还需要根据刚才安装的QT creator安装位置来确认。

3.3 编译opencv源码

将下载好的opencv 2.4.9压缩包解压,如下:

基于64位win10系统的QT+opencv环境配置_第20张图片

运行CMake,然后再运行界面中配置opencv源码以及编译输出的位置,参考如下:

基于64位win10系统的QT+opencv环境配置_第21张图片

然后点击configure

基于64位win10系统的QT+opencv环境配置_第22张图片

在弹出窗口中,选择MinGW Makefiles,以及选择“Specify native compilers”选项,然后点击next继续

基于64位win10系统的QT+opencv环境配置_第23张图片

然后配置C,C++编译器位置,注意:就是选择刚才添加的环境变量bin目录下的gcc,g++编译器。然后点击finish继续。

基于64位win10系统的QT+opencv环境配置_第24张图片

如果无误,CMake就会开始运行。

基于64位win10系统的QT+opencv环境配置_第25张图片

如果无误,在log中会有Configuring done信息。

然后在search栏搜索“WITH”,在搜索结果中勾选“WITH_OPENGL”和“WITH_QT”,然后重新点击confiure按钮。

基于64位win10系统的QT+opencv环境配置_第26张图片

注意:不要误选了“WITH_OPENCL”选项。

基于64位win10系统的QT+opencv环境配置_第27张图片

如果没有错误,就点击Generate按钮。

基于64位win10系统的QT+opencv环境配置_第28张图片

如果无误的话,后有Generating done信息出现。

在windows终端中,进入opencv的输出目录,如下:

基于64位win10系统的QT+opencv环境配置_第29张图片

在命令行中执行:mingw32-make -j16

基于64位win10系统的QT+opencv环境配置_第30张图片

注意:-j16选项可以根据自己的PC配置来更改,如果数字太大,PC就会太卡,可以用-j4等。

如果编译过程中出现了address错误,如下:

基于64位win10系统的QT+opencv环境配置_第31张图片

就需要修改C:\Qt\opencvlib\modules\contrib\CMakeFiles\opencv_contrib.dir\flags.make文件,去除-Werror=address编译选项。

然后重新执行:mingw32-make -j16

基于64位win10系统的QT+opencv环境配置_第32张图片

如果执行没有错误了,就执行:mingw32-make install

基于64位win10系统的QT+opencv环境配置_第33张图片

如果没有错误产生,就表示我们已经成功编译出了opencv库文件。

编译出来的文件在C:\Qt\opencvlib\install\x64\mingw目录,注意:此位置和个人配置有关。

基于64位win10系统的QT+opencv环境配置_第34张图片

然后需要在环境变量中添加我们编译出来的bin,lib环境变量。如下:

基于64位win10系统的QT+opencv环境配置_第35张图片

至此,已经配置好了opencv开发环境。

如果需要使用opencv,还需要再QT工程文件xxxxx.pro中添加如下配置:

INCLUDEPATH +=C:/Qt/opencvlib/install/include
INCLUDEPATH +=C:/Qt/opencvlib/install/include/opencv
INCLUDEPATH +=C:/Qt/opencvlib/install/include/opencv2
LIBS +=C:/Qt/opencvlib/install/x64/mingw/lib/libopencv_*.a

注意:上面几句需要放在.pro文件的末尾,否则可能会导致一些问题。 

4 验证在QT中使用opencv

4.1 创建一个QT工程

基于64位win10系统的QT+opencv环境配置_第36张图片

点击new project

基于64位win10系统的QT+opencv环境配置_第37张图片

选择Qt Widgets Application,点解choose。

基于64位win10系统的QT+opencv环境配置_第38张图片

命名为test,配置好工程保存路径后,点击下一步

基于64位win10系统的QT+opencv环境配置_第39张图片

点击下一步

基于64位win10系统的QT+opencv环境配置_第40张图片

点击下一步

基于64位win10系统的QT+opencv环境配置_第41张图片

点击完成。

将测试的图像放置在C:\Qt\test目录下,注意:根据自己的喜好放置即可,在下文的代码中采用的是图像的绝对地址

基于64位win10系统的QT+opencv环境配置_第42张图片

在test.pro文件中添加opencv的header和lib路径:

基于64位win10系统的QT+opencv环境配置_第43张图片

 

双击Forms栏中的mainwindow.ui文件,在display Widgets栏中拖拽一个Label控件到ui界面中

基于64位win10系统的QT+opencv环境配置_第44张图片

Label控件重命名为:show picture

mainwindow.h文件的内容如下: 

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include 
#include 

namespace Ui {
class MainWindow;
}

using namespace cv;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    int showImage();
    Mat srcImg;

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

mainwindow.cpp内容如下:

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

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

int MainWindow::showImage(){
    Mat temp;
    QImage Qimg;
    srcImg = imread("C:/Qt/test/timg.jpg");
    cvtColor(srcImg, temp, CV_BGR2RGB);//BGR convert to RGB
    Qimg = QImage((const unsigned char*)(temp.data), temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
    ui->label->setPixmap(QPixmap::fromImage(Qimg));
    ui->label->resize(Qimg.size());
    ui->label->show();

    return 0;
}

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

main.cpp内容如下:

#include "mainwindow.h"
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    w.showImage();

    return a.exec();
}

点击运行:

基于64位win10系统的QT+opencv环境配置_第45张图片

如果构建以及编译无误,就会有下面的运行结果:

基于64位win10系统的QT+opencv环境配置_第46张图片

至此,已经完整配置了QT开发中opencv环境,以及opencv验证。

注意注意:

由于QT creator工作环境问题,或者说是一个bug,在修改文件后或者其它情况下,构建以及编译失败,请执行如下步骤:

1:点击构建->执行qmake

基于64位win10系统的QT+opencv环境配置_第47张图片

2:删除工程中以及构建的文件build-test-Desktop_Qt_5_13_0_MinGW_64_bit-Debug

基于64位win10系统的QT+opencv环境配置_第48张图片

然后重新点击运行按钮:

此处谨记,可能会解决问题。

你可能感兴趣的:(opencv,qt,cmake)