QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法

参考:《用Qt Creator编译opencv并配置开发环境》https://blog.csdn.net/scien2011/article/details/52830794

我两台电脑,一台装的是QT5.8 MSVC,另一台装的是QT5.9 MinGW,配置opencv2.4.13.6都配置成功了。

如何查看我的QT到底是用的哪种编译器?依次点击QT的菜单栏->工具->构建和运行->构建套件,看到下图的QT是MSVC版本的:

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第1张图片

一、安装QT、编译出opencv

我安装的其中一个QT版本如下:

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第2张图片

我下载的opencv是2.4.13.6,如下图可以看到官网提供了源文件source、以及编译好的win pack、ios pack、安卓pack。实际上,我们直接下载源文件(下图的source),然后自己在自己的平台上编译即可,不需要下载官网提供的已编译好的那些(更确切的说,你直接下载官网编译好的opencv库,很多时候与你的开发环境/编译器不匹配,根本无法使用,所以推荐各位下载源码然后自己编译)。

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第3张图片

我按照参考链接里的方法,用QT creator+CMAKE编译出的opencv如下:

opencv-2.4.13.6文件夹里就是我下载的opencv源代码,另一个文件夹build-opencv-2.4.13.6-Desktop_Qt_5_8_0_MSVC2013_32bit-Release就是QT+CMAKE编译出的opencv,这个文件夹里有以下文件:

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第4张图片

以后我们使用opencv的话,就只使用上图中的install文件夹中的内容了,我们把这个install这个文件夹复制到你想要的地方,我复制到了D:\ProgramFiles\opencvBuilded\install。

注意(1),这一步骤在编译opencv库时,我选择是QT的release模式编译,这样编译出的opencv库就都是release版的,在使用这些dll和lib时,qt也必须设置为release模式。

注意(2),QT使用MSVC编译器编出的opencv库,和使用MingW编译器编出的opencv库,是不能通用的。也就是说,如果你编译opencv时,使用的是MingGW编译器,那么你以后开发opencv应用程序时,也必须使用MinGw编译器。

二、添加opencv环境变量

把路径D:\ProgramFiles\opencvBuilded\install\x86\vc12\bin添加到系统环境变量

三、新建QT工程

新建一个QT控制台工程,在.pro文件中添加:

INCLUDEPATH += D:/ProgramFiles/opencvBuilded/install/include  \
                D:/ProgramFiles/opencvBuilded/install/include/opencv \
                D:/ProgramFiles/opencvBuilded/install/include/opencv2

#注意,我编译出的opencv库都是release版的,下面就要添加release版的库路径,如果你还编译出了debug版的opencv库
LIBS += D:/ProgramFiles/opencvBuilded/install/x86/vc12/lib/opencv_*

注意:上面添加的LIBS += 后面的路径中lib文件夹,存放的就是编译出的opencv库,使用MSVC/MinGW编译器编出的库,lib文件夹的路径和lib库文件的名字都是不一样的,对比如下两图所示,第1个是MSVC编译出的,第2个图是MinGW编译出的。请按照你编译出的lib路径和文件名修改.pro文件。

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第5张图片

QT creator 5.8.0/5.9+opencv2.4.13.6安装与配置方法_第6张图片

四、依次点击->构建->执行qmake

如果没有报错,就继续下一步

五、运行测试代码

#include "opencv2/opencv.hpp"

int main()
{
    IplImage* img = cvLoadImage("E:/a.jpg");
    if (img == NULL)
        return 1;
    cvNamedWindow("abc",CV_WINDOW_AUTOSIZE);
    cvShowImage("abc",img);
    cvWaitKey(0);
    cvReleaseImage(&img);
    cvDestroyAllWindows();
    return 0;
}
或者:
#include "opencv2/opencv.hpp"
using namespace cv;
int main()
{
    Mat img = imread("E:/a.jpg");
    imshow("abc", img);//注意,qt要设置为opencv dll同样的模式:release或者debug
    waitKey(0);
}

如果显示出了图片,那么就说明我们的开发环境就搭建成功了

 

你可能感兴趣的:(opencv,QT/html)