Qt - OpenCV在项目中集成使用(需补充)

概要说明:

1、OpenCV头文件/库文件

  opencv2/core.hpp    //Mat核心库

  opencv2/imgcodecs.hpp  //读图片

  opencv2/highgui.hpp    //显示界面

 

使用CMake编译OpenCV源码:

1、使用mingw编译OpenCV

 

编译中遇到问题 & 解决办法:

1、问题:https://www.jianshu.com/p/3c4b1af3837f

  解决:命令行输入windres .\vs_version.rc -O coff .\CMakeFiles\opencv_world.dir\vs_version.rc.obj

 

导入Qt项目:

1、将编译好的OpenCV中的bin、include、lib放到当前项目中,其目录中包含:

  bin:包含 opencv_ffmpeg3410_64.dll(Qt+Win环境下)

  include:包含 opencv、opencv2 两个官方头文件的文件夹

  lib:目前将多个OpenCV库编译成了一个库文件libopencv_world3410.dll.a

2、Qt pro 如下

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp

#opencv头文件地址 INCLUDEPATH
+= $$PWD/./include
#opencv库文件地址+库文件名 LIBS
+= -L$$PWD/./lib -lopencv_world3410

3、简单测试Opencv调用main.cpp

#include <iostream>

#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

int main() {
    cout << "Hello World!" << endl;

//    VideoCapture capture;
//    Mat frame;
//    frame = capture.open("E:/Qt_code/untitled20200518-testOpencv/bin/test.mp4");
//    if(!capture.isOpened()) {
//        cout << "capture open error!" << endl;
//        return -1;
//    }

//    namedWindow("output", CV_WINDOW_AUTOSIZE);

//    while(capture.read(frame)) {
//        imshow("output", frame);
//        waitKey(10);
//    }

//    capture.release();

    //读取图片
    Mat img;
    img = imread("test.png", 1);
    imshow("img", img);
    waitKey(0);

    return 0;
}

 

posted @ 2020-07-02 15:26  Citrusliu  阅读(412)  评论(0编辑  收藏  举报