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; }
博客园文作者:Citrusliu
博文地址:https://www.cnblogs.com/citrus