图解Win7下搭建OpenCV+Qt开发环境

更新: 2016-10-12 01:12 编辑:生活经验

本篇经验将和大家介绍Win7下搭建OpenCV+Qt开发环境的步骤,希望对大家的工作和学习有所帮助!

安装OpenCV、Qt Creator等软件

所需软件工具:

(1)OpenCV开发库,2.4.9版;包含源文件(source目录)和编译后的文件(build目录),但最好自己使用CMake重新编译,否则容易出错。

(2)Qt Creator,在官网下载最新版的,选择MinGW版本。

(3)CMake,官网下载最新版。

安装OpenCV,即将源文件和编译后文件,解压到目录:

F:\ProgramFiles\programme\openCV\openCV249

其中包含两个目录:build(编译后文件)和sources(源代码目录)。

安装Qt,如下图所示:

(1)安装时,需要勾选上“MinGW4.8”,默认没有勾选。

(2)安装完成,将Qt的3个环境变量加入“系统环境变量”Path:

F:\ProgramFiles\programme\Qt\Qt560\Tools\mingw492_32\bin(gcc编译器所在路径,请根据自己所选安装目录选择);

F:\ProgramFiles\programme\Qt\Qt560\5.6\mingw49_32\bin(加入该路径,是避免MinGW Config时报错)

F:\ProgramFiles\programme\Qt\Qt560\Tools\mingw492_32\i686-w64-mingw32\lib(加入该路径,是避免MinGW Config时报错)

(3)注意Qt完全安装,所占磁盘空间很大,达到了5G以上,注意安排足够的磁盘空间以免空间不足导致安装失败。

图解Win7下搭建OpenCV+Qt开发环境

图解Win7下搭建OpenCV+Qt开发环境

安装CMake,并使用CMake控制OpenCV的编译过程。

(1)配置编译环境,“Configure”,然后选择“MinGW Makefiles”,默认选项“Use default native compilers”(让MinGW通过系统环境变量找到gcc和g++编译器。)

(2)设置要编译的OpenCV“源文件路径”和生成的“目标路径”,如下图所示:

图解Win7下搭建OpenCV+Qt开发环境

CMake编译结束后,勾选生成列表中的选项“WITH_OPENGL”和“WITH_QT”,其他项最好不要动,如下图所示:

图解Win7下搭建OpenCV+Qt开发环境

再次点击“Configure”按钮,红色消失,如下图所示:

图解Win7下搭建OpenCV+Qt开发环境

点击“Generate”按钮,生成makefile文件。成功后,底下会提示Generating done。(出现红色警告,可以忽略。。。),如下图所示:

图解Win7下搭建OpenCV+Qt开发环境

打开cmd,进入刚才设置的目标路径,如下图所示:

(F:\ProgramFiles\programme\openCV\buildBin),输入“mingw32-make”命令开始编译。此过程较长,需要30分钟左右。

图解Win7下搭建OpenCV+Qt开发环境

执行安装命令“mingw32-make install”,此过程较快,大约需要1到2分钟。

配置Qt Creator的OpenCV开发环境

将步骤4中编译生成的“目标路径”中的目录(bin和lib目录)和OpenCV安装目录下的“build/include”目录放在一个目录下。(目标路径中的其他目录已经不需要,可以删除。)如下,将目录

“F:\ProgramFiles\programme\openCV\openCV249\opencv\build\include”放到目标路径目录“F:\ProgramFiles\programme\openCV\buildBin”下。

将目标路径的bin目录,添加到“系统环境变量Path”中。

“F:\ProgramFiles\programme\openCV\buildBin\bin”。

Qt Creator下测试是否已配置成功

打开Qt Creator,新建一个空工程,然后添加一个cpp文件main.cpp,如下图所示:

图解Win7下搭建OpenCV+Qt开发环境

在pro文件中添加如下OpenCV的依赖文件

INCLUDEPATH+=F:\ProgramFiles\programme\openCV\selfBin\include\opencv\

              F:\ProgramFiles\programme\openCV\selfBin\include\opencv2\

              F:\ProgramFiles\programme\openCV\selfBin\include

LIBS+=F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_calib3d244.dll.a\

      F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_contrib244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_core244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_features2d244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_flann244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_gpu244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_highgui244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_imgproc244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_legacy244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_ml244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_objdetect244.dll.a\

        F:\ProgramFiles\programme\openCV\selfBin\lib\libopencv_video244.dll.a

其实有种简单的做法,但是有个缺点是可能包含链接库较多(亲测,这种方法没有成功。)

INCLUDEPATH+=F:\ProgramFiles\programme\openCV\selfBin\include\opencv\

                    F:\ProgramFiles\programme\openCV\selfBin\include\opencv2\

                    F:\ProgramFiles\programme\openCV\selfBin\include

LIBS+=F:\ProgramFiles\programme\openCV\selfBin\lib

main.cpp文件中内容如下:

#include"cv.h"

#include"cxcore.h"

#include"highgui.h"

 

intmain(intargc,char*argv[])

{

    //声明IplImage指针

    IplImage*pImg;

    //载入图片

    pImg=cvLoadImage("E:/OpenCV/FirstOpenCV/home.jpg",1);

    //创建窗口

    cvNamedWindow("Image",1);

    //显示图像

    cvShowImage("Image",pImg);

    //等待按键

    cvWaitKey(0);

    //销毁窗口

    cvDestroyWindow("Image");

    //释放图像

    cvReleaseImage(&pImg);

    return0;

}

运行程序,可看到图片展示,如下图所示:

图解Win7下搭建OpenCV+Qt开发环境