OpenCV3.4.0+QT5.10.0配置

Posted 上中下,高平宽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV3.4.0+QT5.10.0配置相关的知识,希望对你有一定的参考价值。

1、安装QT5.10.0

这个不用多说,相信大家都会。

在线安装:https://www.qt.io/download

或者下载离线安装包:http://download.qt.io/official_releases/qt/

2、下载OpenCV

 https://github.com/opencv/opencv/releases/download/3.4.0/opencv-3.4.0-vc14_vc15.exe

从上面的网址下载并安装(其实就是解压缩),我的路径是C:\\opencv,安装完毕后该目录下还有build和sources两个文件夹。其中的内容如下:

build:头文件以及编译好的库文件,包括lib和dll。

sources:OpenCV的源代码,可以自己重新进行编译。

3、配置QT

3.1 新建工程

按照下图所示,建立一个 QT Console Application

 

3.2 设置编译平台

所有设置都按照默认选项即可,只有“Kits”例外。

因为我安装了VS2017,并且OpenCV5.10.0安装后所提供的库只有vc14和vc15,如下图所示

 

 所以这里我的Kits只选择了“Desktop QT5.10.0 MSVC2017 64bit”,如下图所示。关于如何编译OpenCV生成自己需要的库,看参考《如何编译OpenCV3.4.0

 

3.3 设置pro文件

在项目的pro文件中添加下面2行:

INCLUDEPATH += "C:/opencv/build/include"
LIBS+=C:/opencv/build/x64/vc15/lib/opencv_world340d.lib

QT -= gui

CONFIG += c++11 console
CONFIG -= app_bundle

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked 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

SOURCES += main.cpp

INCLUDEPATH += "C:/opencv/build/include"

LIBS+=C:/opencv/build/x64/vc15/lib/opencv_world340d.lib

3.4 编写代码

编辑main.cpp(该代码源自OpenCV Samples)

#include <QCoreApplication>

#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    double alpha = 0.5; double beta; double input;

        Mat src1, src2, dst;



        //![load]
        /// Read images ( both have to be of the same size and type )
        src1 = imread("LinuxLogo.jpg");
        src2 = imread("WindowsLogo.jpg");
        //![load]

        if (src1.empty()) { cout << "Error loading src1" << endl; return -1; }
        if (src2.empty()) { cout << "Error loading src2" << endl; return -1; }

        //![blend_images]
        beta = (1.0 - alpha);
        addWeighted(src1, alpha, src2, beta, 0.0, dst);
        //![blend_images]

        //![display]
        imshow("Linear Blend", dst);

    return a.exec();
}

3.5 准备图片

准备2张图片(LinuxLogo.jpg和WindowsLogo.jpg),并拷贝到编译生成目录(我的是build-QTOpenCV-Desktop_Qt_5_10_0_MSVC2017_64bit-Debug)

        

4、测试

运行结果应该如下图所示

 

以上是关于OpenCV3.4.0+QT5.10.0配置的主要内容,如果未能解决你的问题,请参考以下文章

VS2017+OpenCV3.4.0 折腾

Ubuntu16.04+CUDA9.0+CUDNNv7.1+opencv3.4.0+anaconda3+Matlab 2017a+caffe安装

ubuntu18安装opencv3.4.0+opencv_contrib3.4.0

使用vs2019编译和调试开源项目opencv3.4.0版本+opencv3.4.0源码网盘链接

使用vs2019编译和调试开源项目opencv3.4.0版本+opencv3.4.0源码网盘链接

Xcode+OpenCV3.4.0 折腾