找到几个好用的视频教程:
W indows平台下基于QT和OpenCV搭建图像处理平台
http://edu.51cto.com/center/course/lesson/index?id=222156
实战微课-5分钟配置好OpenCV3.2 + VS2015开发环境
http://edu.51cto.com/course/10297.html?source=so以下是我的正文:
花了三天终于搞定...
核心参考文档是官网的文档:
https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
本文只对该文档作为补充说明。
QT我下载的是清华大学镜像版本,因为官网的下载慢,时不时报错需要手动重建,比较烦
https://mirrors.tuna.tsinghua.edu.cn/
QT安装教程这个比较好
https://www.cnblogs.com/chenmingjun/p/8392713.html
剩下的OpenCV的的,的cmake的安装参考官网文件
-----------之后就是绝望的配置过程,呵呵呵---------
首先必然出现的错误
第三方/ ffmpeg / ffmpeg.cmake中的CMake错误:2(包括):包含不能......
其他大神的解决方案:
https://blog.csdn.net/u011028345/article/details/74568109
https://blog.csdn.net/z137628817/article/details/70159043
我......都用不了.....
我的解决方案:开个蓝灯,虽然无比卡,但是......最简单...
这里把我的的ffmpeg的和ippicv传上来好了:
https://pan.baidu.com/s/1yebQgv8x-s4aGCZRQEO7_Q密码:qpky
之后到这一步
巨多雷区....呵呵呵,具体参考这篇文章:HTTPS://blog.csdn.net/huihut/article/details/78701814
请让我吐槽一下,知道这些问题会出现,出现每次还要之后重新Configure
- Generate
-mingw32-make,那为啥不在这一步解决掉这些问题???
我编辑这一步避雷操作的整理版如下:
修改E:\OpenCV_3.3.1\opencv\sources\modules\videoio\src\cap_dshow.cpp
文件,在#include "DShow.h"
这行的上面加一行#define NO_DSHOW_STRSAFE
,如:
#define NO_DSHOW_STRSAFE
#include "DShow.h"
编译配置:
- 勾选
WITH_QT
- 勾选
WITH_OPENGL
- 勾选
ENABLE_CXX11
- 不勾选
WITH_IPP
- 不勾选
ENABLE_PRECOMPILED_HEADERS
点击配置,再次配置:
- 设置
QT_MAKE_EXECUTABLE
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\bin\qmake.exe
- 设置
Qt5Concurrent_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Concurrent
- 设置
Qt5Core_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Core
- 设置
Qt5Gui_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Gui
- 设置
Qt5Test_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Test
- 设置
Qt5Widgets_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Widgets
- 设置
Qt5OpenGL_DIR
为E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5OpenGL
- 设置
CMAKE_BUILD_TYPE
为Release
或者RelWithDebInfo
点击生成生成的Makefile
编译的OpenCV
打开终端进行编译(开始-运行--cmd):( -j
的英文使用 8
个线程进行编译,请根据你的计算机配置合理设置线程数)
d: cd d:\ cd opencv-build mingw32-make -j 8 mingw32-make install
查看电脑线程数的方法:HTTPS://blog.csdn.net/huazicomeon/article/details/53540852票= ST-353326-Zz4Ha9YGwLDmFeRdVur7-passport.csdn.net
然而我用4线程还错,算了,就一个线程吧......慢就慢点,跪求不错,我用的代码如下:
d: cd d:\ cd opencv-build mingw32-make -j
上一段直接复制,运行完了再输入这个
mingw32-make install
全部运行结束后添加系统变量(我的电脑右键 - 属性 - 高级系统设置 - 环境变量 - 系统变量--path--编辑)
添加这一条,其余与QT相关环境变量是否配齐参考下图
打开QT creator,新建项目
除了这个,其他都直接选择下一步
然后配置环境,工具 - 选项
修改如下:
应用 - 确定
之后编辑程序:程序参考https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
首先修改的.pro文件,把以下代码添加到的.pro文件的最后:
INCLUDEPATH + = D:\ opencv \ build \ include
LIBS + = D:\ opencv-build \ bin \ libopencv_core341.dll
LIBS + = D:\ opencv-build \ bin \ libopencv_highgui341.dll
LIBS + = D:\ opencv-build \ bin \ libopencv_imgcodecs341.dll
LIBS + = D:\ opencv-build \ bin \ libopencv_imgproc341.dll
LIBS + = D:\ opencv-build \ bin \ libopencv_features2d341.dll
LIBS + = D:\ opencv-build \ bin \ libopencv_calib3d341.dll
这里要很注意路径,
INCLUDEPATH 给出的路径,文件夹包括要包含以下文件夹
之后修改mainwindow.cpp,直接用下面的代码替换,注意在˚F盘里放一张图片:1.JPG
#include “mainwindow.h”
#include “ui_mainwindow.h”
#include <opencv2 / highgui / highgui.hpp>
QMainWindow(父母),
ui(新的Ui :: MainWindow)
{
ui - > setupUi(this);
cv :: Mat image = cv :: imread(“f://1.jpg”,1);
cv :: namedWindow(“我的形象”);
cv :: imshow(“我的图片”,图片);
}
MainWindow :: 〜MainWindow()
{
删除用户界面 ;
}
运行结果如下: