本文主要参考了https://blog.csdn.net/wzj0808/article/details/79388446
非常感谢。
此篇只为了记录自己学习过程,如果损害都原博主利益,请尽快告知,我会马上删除。
QT下载网址 : http://download.qt.io/official_releases/qt/ 新版
http://download.qt.io/archive/qt/旧版本链接
opencv 下载网址 : 官网 https://opencv.org/releases.html 各个版本链接
cmake 下载网址 官网 https://cmake.org/files/ 各个版本链接
QT安装有两个版本 minGW和mscv
后面那个是针对微软vc编译的,Qt自带minGW因此我用minGW
安装opencv直接双击就行了
安装Cmake 记得到这个界面选这个
install options
选择第二个
add Cmake to the system …
QT版本记得选对
1,编译器使用qt自带c、c++编译器。之前有装过的mingw编译器的path路径要去掉。因此qt要添加两个路径到path:
C:\Qt\Qt5.8.0\5.8\mingw53_32\bin;C:\Qt\Qt5.8.0\Tools\mingw530_32\bin
第一个源目录,及opencv下载安装
第二个目录为生成目标,就是你库生成的位置。
出现红色
WITH_OPENGL选中,WITH_QT选中,WITH_IPP
IPP取消非常关键,否则在后面命令行运行的时候会出错!!亲测
然后再点击configure。
上面出现红色
Qt5Concurrent_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5ConcurrentQt5Core_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5CoreQt5Gui_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5GuiQt5OpenGL_DIR C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5OpenGLQt5Test_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5TestQt5Widgets_DIR
C:/Qt/Qt5.8.0/5.8/mingw53_32/lib/cmake/Qt5Widgets
直接configure 因为他目录是对的,但是还是得检查一下,如果不对要改
然后generate 很快
打开cmd ,进入buildOpencv目录,执行mingw32-make命令,要执行大概20分钟才会完成: (打开子目录用cd加空格加名称)
比如28%左右的
mingw32-make[2]: * [bin/libopencv_core300.dll]
Error 1
CMakeFiles\Makefile2:1654: recipe for target
‘modules/core/CMakeFiles/opencv_cor e.dir/all’ failed
mingw32-make[1]: * [modules/core/CMakeFiles/opencv_core.dir/all]
Error 2
Makefile:148: recipe for target ‘all’ failed
mingw32-make: * [all] Error 2
说明是IPP那个选项没有取消勾选(看前面cmake步骤)
38%左右的
modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj]
Error 1
(1)如果出现一大堆cpp问题那么。
源文件cmake opencvcompileoptions
add_extra_compiler_option(-Werror=non-virtual-dtor)
改成#add_extra_compiler_option(-Werror=non-virtual-dtor)
(2)如果只是单纯obj不行
那么cap_dshow.cpp这个文件里面
添加定义
#define STRSAFE_NO_DEPRECATE
并# include "DShow.h"这个前面
加上#define NO_DSHOW_STRSAFE
然后完成之后执行mingw32-make install
这步很快
将新生成的D:\MyProgram\buildOpencv\bin添加到path变量。
注意:要重启电脑使环境变量生效
INCLUDEPATH += D:\MyProgram\Opencv\opencv\build\include
D:\MyProgram\Opencv\opencv\build\include\opencv
D:\MyProgram\Opencv\opencv\build\include\opencv2
LIBS += D:\MyProgram\buildOpencv\lib\libopencv_*.a
在main.
cpp代码
#include "mainwindow.h"
#include
#include
using namespace cv;
int main(int argc, char *argv[])
{
Mat image;
image =imread("D:\\test.jpg");
namedWindow("显示");
imshow("显示",image);
waitKey(0);
return 0;
}
成功!!显示出来。
如果想要用vs2012和opencv进行编程
关于vs2012和opencv3.0的配置,我在另外一篇文章
https://blog.csdn.net/weixin_43707042/article/details/88615880
有讲述具体过程。