Win7下配置OpenCV的Qt开发环境


本文章系转载,在参考原文的基础上实现本机环境的配置。原文地址为:http://blog.csdn.net/qiurisuixiang/article/details/8665278


一、前期需要准备的软件

(1)、Qt Creator,版本Qt5.1.1

(2)、CMake,版本3.1.0

(3)、opencv,版本2.4.10


二、安装Qt Creator、CMake,解压opencv。在安装CMake的过程中选择“将CMake加入环境变量中”,可选择只对本用户或者对计算机上的所有用户,安装路径中不要出现中文和空格。


三、添加环境变量

(1)、添加D:\Qt\Qt5.1.1\Tools\mingw48_32\bin到系统环境变量,具体路径按照自己的安装路径添加。具体步骤:右键点击“我的电脑”--“属性”--“高级系统设置”--“环境变量”,双击系统变量中的“Path”项,在变量值末尾加“;D:\Qt\Qt5.1.1\Tools\mingw48_32\bin”即可。


四、用CMake配置opencv源码,生成Mingw类型的makefile文件

(1)、解压完的opencv包含两个文件夹,build和source,其中source文件夹中存放的为opencv的源码,build文件夹中存放的是编译好的库文件(适用于VS的库)。在opencv目录下新建一个build_qt文件夹,保存编译生成的库文件,文件也可以建在自己喜欢的地方。打开CMake(cmake-gui),选择源码路径和目标路径,如下图所示:


点击Configure,选择Mingw类型的makefile,如下图所示:


Configure完成以后,选择WITH_QT和WITH_OPENGL,如下图所示:


如果在Configure的过程中出现错误,可能是由于CMake的版本和Qt的版本不匹配导致,一些路径如果出现“NOTFOUND”,请手动添加相应的路径。

(2)、点击Generate。

如果在Generate的时候出现QT_QMAKE_EXECUTABLE NOTFOUND,那么是因为qmake的路径没有找到,可以将qmake的路径手动添加进来。例如:D:\Qt\Qt5.1.1\5.1.1\mingw48_32\bin。其他一些关于Qt5的“NOTFOUND”可以在目录:D:\Qt\Qt5.1.1\5.1.1\mingw48_32\lib\cmake下面找到,需要手动添加进去。添加完成以后再次Configure,Generate。至此生成makefile完成。


五、编译opencv源码

点击“开始”,输入cmd,打开命令行终端。切换到目录build_qt,输入mingw32-make,如下图所示:



编译完成以后,输入mingw32-make install,这样会将生成的库以及需要的头文件拷贝到install文件夹下,install文件夹为自动生成。这样在使用opencv库的时候就可以将install文件夹下的内容拷贝到需要的地方。至此,Qt版本的opencv库编译完成。



六、建立Qt测试程序,测试opencv库

(1)、拷贝install文件夹下include文件夹和x64/mingw文件夹下的bin文件夹、lib文件夹到E:\opencv_mingw\,可以根据个人爱好将库放在不同的位置。


将bin目录添加进环境变量:



(2)、打开Qt Creator,创建一个Qt控制台程序。在pro文件中添加opencv的头文件包含和库路径:

INCLUDEPATH += E:\opencv_mingw\include \
            E:\opencv_mingw\include\opencv \
            E:\opencv_mingw\include\opencv2

LIBS += E:\opencv_mingw\lib\libopencv_calib3d2410.dll.a \
        E:\opencv_mingw\lib\libopencv_contrib2410.dll.a \
        E:\opencv_mingw\lib\libopencv_core2410.dll.a \
        E:\opencv_mingw\lib\libopencv_features2d2410.dll.a \
        E:\opencv_mingw\lib\libopencv_flann2410.dll.a \
        E:\opencv_mingw\lib\libopencv_gpu2410.dll.a \
        E:\opencv_mingw\lib\libopencv_highgui2410.dll.a \
        E:\opencv_mingw\lib\libopencv_imgproc2410.dll.a \
        E:\opencv_mingw\lib\libopencv_legacy2410.dll.a \
        E:\opencv_mingw\lib\libopencv_ml2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_nonfree2410.dll.a \
        E:\opencv_mingw\lib\libopencv_objdetect2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_ocl2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_photo2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_stitching2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_superres2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_ts2410.a \
#        E:\opencv_mingw\lib\libopencv_video2410.dll.a \
#        E:\opencv_mingw\lib\libopencv_videostab2410.dll


main.cpp中代码如下:

#include <QCoreApplication>
#include <stdio.h>
#include "core/core.hpp"
#include "highgui/highgui.hpp"

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Mat im;
    im=imread("Test.jpg");
    if(!im.data)
    {
        printf("Empty Image!\n");
        return -1;
    }
    namedWindow("Hello OpenCV",WINDOW_AUTOSIZE);
    imshow("Hello OpenCV",im);
    waitKey(0);

    return a.exec();
}

执行结果如下图所示:




到此opencv在Qt环境下的编译和测试已经完成,错误之处还请指正,共同学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值