环境
本机环境:Windows-64位
Qt 5.11.1
OpenCV 4.0.0
CMake 3.13.1
不同的版本操作方法类似
下载地址
CMake官网下载地址:
==============================================
Qt官方下载地址
http://download.qt.io/archive/qt/
==============================================
OpenCV 4.0.0 官方下载地址:
http://opencv.org/releases.html#
自己根据需要去下载即可,文章的最后,我会附上我的安装包链接
【注意】文中所有的地址都是我自己设置的,你们需要根据自己的实际情况做适当修改!
系统环境变量设置
首先安装CMake和Qt。
将自己安装路径下bin,例如下面这两个路径添加到环境变量Path中。
D:\software\cmake-3.13.1-win32-x86\bin
C:\Qt5.11.1\Tools\mingw530_32\bin
详细操作如下图所示
右击“计算机”,选择属性
点击高级系统设置
点击环境变量
选择系统变量的path,添加bin的地址,注意用英语分号分开
例如:
D:\software\cmake-3.13.1-win32-x86\bin
C:\Qt5.11.1\Tools\mingw530_32\bin
【建议】配置环境变量后重启电脑
配置CMake
-
双击打开cmake
第一个地址:自己安装的opencv的source路径
第二个地址:自己新建的文件夹,用于编译opencv -
然后点击config
-
选择mingw makefiles,按钮选第二个,点击next
-
配置c和c++编译器路径
C:/Qt5.11.1/Tools/mingw530_32/bin/gcc.exe
C:/Qt5.11.1/Tools/mingw530_32/bin/g++.exe
然后点击finish -
等待配置
-
选中“WITH_OPENGL”、“WITH_QT”打勾,将“WITH_IPP”取消打勾。然后再次点【Configure】
-
常见报错以及解决
解决方法:把地址改成
C:/Qt5.11.1/Tools/mingw530_32/bin/mingw32-make.exe
然后点击config
QT_QMAKE_EXECUTABLE值为:C:/Qt5.11.1/5.11.1/mingw53_32/bin/qmake.exe
Qt5Concurrent_DIR值为:C:/Qt5.11.1/5.11.1/mingw53_32/lib/cmake/Qt5Concurrent
Qt5Core_DIR 值为:C:/Qt5.11.1/5.11.1/mingw53_32/lib/cmake/Qt5Core
Qt5Gui_DIR 值为:C:/Qt5.11.1/5.11.1/mingw53_32/lib/cmake/Qt5Gui
Qt5Test_DIR 值为:C:/Qt5.11.1/5.11.1/mingw53_32/lib/cmake/Qt5Test
Qt5Widgets_DIR 值为:D:/DiyProgram/Qt/5.8/mingw53_32/lib/cmake/Qt5Widgets
然后点击config
Qt5OpenGL_DIR 值为:C:/Qt5.11.1/5.11.1/mingw53_32/lib/cmake/Qt5OpenGL
- 丢失libwinpthread-1.dll
把libwinpthread-1.dll(文章最后的链接里有)复制到C:\Windows\System32和C:\Windows\SysWOW64中
- config完成之后点击Generate
编译opencv
1.进入编译后的生成文件目录D:\build_opencv,然后该文件夹的空白处Shift+右键,选择“在此处打开命令窗口”。
输入“mingw32-make”命令,按回车进行编译。
- 这时你可能出现如下错误信息:
‘mingw32-make’ 不是内部或外部命令,也不是可运行的程序 或批处理文件
解决方法:把C:\Qt5.11.1\Tools\mingw530_32\bin地址中的mingw32-make.exe复制到C:\Windows\System32和C:\Windows\SysWOW64中即可
当他到达百分之百之后,输入 “mingw32-make install ”等到安装完成关闭即可
添加新生成的bin到Path环境变量
把编译后,目标目录下的bin目录路径,即
D:\build_opencv\install\x86\mingw\bin;
D:\build_opencv\bin 添加到Path环境变量中。
方法同上,注意英语分号分隔
【建议】配置好Path后,重新启动电脑
配置Qt中的OpenCV
- 新建一个项目文件
- 在.pro文件最后添加如下代码
INCLUDEPATH += D:\build_opencv\install\include\
D:\software\opencv-4.0.0-vc14_vc15\opencv\build\include\opencv2\
D:\software\opencv-4.0.0-vc14_vc15\opencv\build\bin
LIBS += D:\build_opencv\install\x86\mingw\bin\libopencv_*.dll
-lopencv_world320
-lopencv_world320d
- 在.cpp中添加如下代码
#include "MainWindow.h"
#include "ui_MainWindow.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <qdebug.h>
using namespace cv ;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// read an image
cv::Mat image = cv::imread("D:\\test500.png");
// create image window named "My Image"
cv::namedWindow("My Image");
// show the image on window
cv::imshow("My Image", image);
}
MainWindow::~MainWindow()
{
delete ui;
}
- 构建->执行qmake后编译运行即可
安装包链接
链接:
链接:https://pan.baidu.com/s/1qUw2OaFCmcfDVbgTmk6wbQ
提取码:hkv8
复制这段内容后打开百度网盘手机App,操作更方便哦
内容:
PS: 再提醒一次,文中所有的地址,都需要根据个人实际情况进行相应修改