QT+OpenCV的配置和安装

本人参照的安装教程:https://blog.csdn.net/sinat_36264666/article/details/73200739

但是在操作的时候又有些不同

1——————————————————————————————————

我的安装路径为D:\QT\QT5.5.1\opencv\open_3.3.1_build

编译生成的include/opencv和include/opencv2的路径为D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\include\opencv和opencv2

编译生成的lib在D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\x86\mingw\lib

因此最后在QT的pro文件的添加的内容为:

INCLUDEPATH+= D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\include\opencv
INCLUDEPATH+= D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\include\opencv2
INCLUDEPATH+= D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\include

LIBS += D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\x86\mingw\lib\libopencv_*.a

而他的为:

INCLUDEPATH+=D:\DiyProgram\OpenCV\opencv\build\include

             D:\DiyProgram\OpenCV\opencv\build\include\opencv

             D:\DiyProgram\OpenCV\opencv\build\include\opencv2

LIBS += D:\DiyProgram\buildOpencv\lib\libopencv_*.a

2——————————————————————————————————

编译生成后的bin文件一定要tian添加到环境变量:D:\QT\QT5.5.1\opencv\open_3.3.1_build\install\x86\mingw\bin

错误 1     ——————————————————————————————————————

在操作过程中遇到一个错误:[ 32%] Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj

可以参考:https://blog.csdn.net/weixin_42005205/article/details/81000017

错误 2     ——————————————————————————————————————

运行程序后一直出现:程序异常结束

但是你编译代码的时候却没有错,那么很有可能就是你的动态链接库没有加载到系统的环境中去。

解决办法: 
1、首先确保你把你qt编译器下的所有bin目录添加到了系统的path环境中; 
2、把你编译好的opencv目录下的bin目录添加到系统的path环境中; 
3、这个时候重新编译你的代码,如果不行,那就关机再试一次,绝对可以的,只要你是按照我的步骤来的。(我就是关机解决的)

附带我的qt opencv mingw环境下的配置过程。opencv+mingw配置

错误 3     ——————————————————————————————————————

程序出现错误:OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow

说是什么内存错误,其实对于我这错误是照片文件路径没有正确指定。

错误路径:D:\QT\project\opencv_qtcreaor\test\test\image.png

正确路径:D:\\QT\\project\\opencv_qtcreaor\\test\\test\\image.png

就是要加反斜杠

程序:

#include "widget.h"
#include <QApplication>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    Mat image;
    image = imread("D:\\QT\\project\\opencv_qtcreaor\\test\\test\\image.png");
    namedWindow("显示");
    imshow("显示",image);
    waitKey(0);  //图片显示出来后要按一下按键,不然不能正确退出

    return a.exec();
}

运行结果:

QT+OpenCV的配置和安装