opencv3.4.7编译及QT5.12.3Mingw32使用

qt的环境

由于项目需要,需配置使用opencv,适用环境为qt5.12.3 mingw73_32,软件安装包系官网下载安装,安装包的名称为qt-opensource-windows-x86-5.13.0.exe
在安装完成后我将qt的bin加入了环境变量如下图:


图片.png

cmake 3.15.2

由于笔记本存在安装权限,在安装cmake时会出现2503,2502的错误,使用任务管理器结束explorer.exe没有任何作用,因此使用了cmd的方式进行安装,具体做法就是以【管理员权限】打开cmd,执行 命令

msiexec /package "安装文件的全路径";

执行命令后,进入cmake的安装,可以一路点击【下一步】完成安装

opencv3.4.7的编译

下载路径为
https://codeload.github.com/opencv/opencv/zip/3.4.7
1.解压后,新建一个文件夹,用于存放编译后的文件,目录如下

opencv3.4.7编译及QT5.12.3Mingw32使用_第1张图片
图片.png

2.使用cmake进行编译,使用cmake打开源码和设置编译路径
图片.png

3.点击configure会弹出界面,点击【finish】后进入配置,配置完成后会在输出栏中提示,相应的错误信息也可根据输出信息进行修改。
opencv3.4.7编译及QT5.12.3Mingw32使用_第2张图片
图片.png

opencv3.4.7编译及QT5.12.3Mingw32使用_第3张图片
图片.png

4.如果运气很好,无任何错误信息,勾选【with_qt】和【with_opengl】再次配置,这个过程十几分钟左右;
5.配置完成后点击生成即可;
6.生成后进入cmd输入mingw32-make
opencv3.4.7编译及QT5.12.3Mingw32使用_第4张图片
图片.png

opencv3.4.7编译及QT5.12.3Mingw32使用_第5张图片
图片.png

7.make完成进行install


图片.png

图片.png

安装过程错误解决办法:

问题1:qt的cmake路径没有配置

opencv3.4.7编译及QT5.12.3Mingw32使用_第6张图片
图片.png

点击【ok】按钮后弹出如下


opencv3.4.7编译及QT5.12.3Mingw32使用_第7张图片
图片.png
解决办法如下:

配置路径,注意路径,然后再次点击configure


图片.png

弹出如下,确认路径正确的话,再次点击configure


图片.png

直到输出框弹出如下,问题才算解决
opencv3.4.7编译及QT5.12.3Mingw32使用_第8张图片
图片.png

问题2:多线程运行的问题:mingw32-make -j 8

我是没有运行成功,可能是线程数应该设置的小一点

解决办法是,不用

直接mingw32-make即可

问题3 未知错误,算是chomd错误么?

opencv3.4.7编译及QT5.12.3Mingw32使用_第9张图片
图片.png
解决办法:

设置 CMAKE_BUILD_TYPE 为 Release 或者 RelWithDebInfo(此版本cmake好像没有后者,所以我设置为了release)


图片.png

opencv3.4.7编译及QT5.12.3Mingw32使用_第10张图片
图片.png

上述完成后,没有问题3了

问题4:cap_dshow.cpp的问题

图片.png

解决办法如下:


opencv3.4.7编译及QT5.12.3Mingw32使用_第11张图片
图片.png

问题5我在WINDOWS上装了CMAKE,我用CMAKE编译一个MAKELIST时,总是报错误,错误如下:

Cmake was unable to find a build program corresponding to "MinGW Makefiles", CMAKE_MAKE_PROGRAM" is not set, You probably need to select a different build tool.
参考网址:解决办法

库文件的使用

1.首先打开opencv安装后的目录


opencv3.4.7编译及QT5.12.3Mingw32使用_第12张图片
图片.png

2.需要文件:include+lib+bin ,具体路径如下


opencv3.4.7编译及QT5.12.3Mingw32使用_第13张图片
图片.png

opencv3.4.7编译及QT5.12.3Mingw32使用_第14张图片
图片.png

3.这三个文件拷贝到一个新的目录下,就可以使用了我的文件拷贝路径如下:
opencv3.4.7编译及QT5.12.3Mingw32使用_第15张图片
图片.png

4.为bin添加一个环境变量,如下


图片.png

5.qt的使用,添加include和lib,如下:
#添加文件依赖
INCLUDEPATH += D:/soft/opencv_mingw32/include/
INCLUDEPATH += D:/soft/opencv_mingw32/include/opencv/
INCLUDEPATH += D:/soft/opencv_mingw32/include/opencv2/

LIBS += D:\soft\opencv_mingw32\lib\libopencv_*.a#添加了所有的静态库,可以选择性添加
opencv3.4.7编译及QT5.12.3Mingw32使用_第16张图片
图片.png

6.测试程序如下:


opencv3.4.7编译及QT5.12.3Mingw32使用_第17张图片
图片.png
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 

#define HAVE_OPENCV_HIGHGUI

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow) {
    ui->setupUi(this);
    cv::Mat srcImage = cv::imread("D:/TestCode/opencvFirstTest/test.jpg");
    cv::imshow("opencv first use", srcImage);
}

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

7.测试结果如下


opencv3.4.7编译及QT5.12.3Mingw32使用_第18张图片
图片.png

本文参考文档连接,引用请注明参考文档

https://blog.csdn.net/huihut/article/details/78701814

你可能感兴趣的:(opencv3.4.7编译及QT5.12.3Mingw32使用)