Qt - OpenCV在项目中集成使用(待完成)

Posted citrus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 .CMakeFilesopencv_world.dirvs_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;
}

 

以上是关于Qt - OpenCV在项目中集成使用(待完成)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android App 中集成 OpenCV Manager

如何在 React WebApp 中集成 OpenCV.js?

Android Studio 中集成Opencv环境(包含opencv_contrib部分)

在 Qt 中集成一个 Bullet 简单演示

如何在 qt/c++ 中集成线程

Android Studio中集成OpenCV