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

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.解压后,新建一个文件夹,用于存放编译后的文件,目录如下

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

3.点击configure会弹出界面,点击【finish】后进入配置,配置完成后会在输出栏中提示,相应的错误信息也可根据输出信息进行修改。


4.如果运气很好,无任何错误信息,勾选【with_qt】和【with_opengl】再次配置,这个过程十几分钟左右;
5.配置完成后点击生成即可;
6.生成后进入cmd输入mingw32-make


7.make完成进行install


安装过程错误解决办法:
问题1:qt的cmake路径没有配置

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

解决办法如下:
配置路径,注意路径,然后再次点击configure

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

直到输出框弹出如下,问题才算解决

问题2:多线程运行的问题:mingw32-make -j 8
我是没有运行成功,可能是线程数应该设置的小一点
解决办法是,不用
直接mingw32-make即可
问题3 未知错误,算是chomd错误么?

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


上述完成后,没有问题3了
问题4:cap_dshow.cpp的问题

解决办法如下:

问题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安装后的目录

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


3.这三个文件拷贝到一个新的目录下,就可以使用了我的文件拷贝路径如下:

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

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#添加了所有的静态库,可以选择性添加

6.测试程序如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
#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.测试结果如下
