zoukankan      html  css  js  c++  java
  • Win7下 OpenCV+Qt开发环境搭建

    1所需软件工具:

    (1)OpenCV开发库,2.4.9版;包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译。否则easy出错。

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

    3CMake,官网下载最新版。

    2、安装OpenCV。即将源文件和编译后文件,解压到文件夹:

    F:ProgramFilesprogrammeopenCVopenCV249

    当中包括两个文件夹:build(编译后文件)和sources(源码文件夹)。

    3、安装Qt

     

     

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

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

    F:ProgramFilesprogrammeQtQt560Toolsmingw492_32in(gcc编译器所在路径,请依据自己所选安装文件夹选择);

    F:ProgramFilesprogrammeQtQt5605.6mingw49_32in(增加该路径。是避免MinGW Config时报错)

    F:ProgramFilesprogrammeQtQt560Toolsmingw492_32i686-w64-mingw32lib(增加该路径,是避免MinGW Config时报错)

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

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

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

    (2)设置要编译的OpenCV“源文件路径”和生成的“目标路径”。例如以下图。

     

    3CMake编译结束后,勾选生成列表中的选项“WITH_OPENGL”和“WITH_QT”,其它项最好不要动。

     

    (4)再次点击“Configure”button。红色消失。

     

    (5)点击“Generate”button,生成makefile文件。成功后,底下会提示Generating done

    (出现红色警告。能够忽略。

    。。)

     

    (6)打开cmd。进入刚才设置的目标路径

    F:ProgramFilesprogrammeopenCVuildBin,输入“mingw32-make”命令開始编译。此过程较长,须要30分钟左右。

     

    (7)运行安装命令“mingw32-make install”,此过程较快,大约须要12分钟。

    5、配置Qt CreatorOpenCV开发环境

    (1)将步骤4中编译生成的“目标路径”中的文件夹(binlib文件夹)和OpenCV安装文件夹下的“build/include”文件夹放在一个文件夹下。(目标路径中的其它文件夹已经不须要,能够删除。)例如以下。将文件夹

    F:ProgramFilesprogrammeopenCVopenCV249opencvuildinclude”放到目标路径文件夹“F:ProgramFilesprogrammeopenCVuildBin”下。

    2)将目标路径的bin文件夹。加入到“系统环境变量Path”中。

    F:ProgramFilesprogrammeopenCVuildBinin”。

    6至此,Qt Creator下的OpenCV开发环境已经配置好。

    以下在Qt Creator下測试是否已配置成功。

    1)打开Qt Creator。新建一个空project,然后加入一个cpp文件main.cpp

     

    2pro文件里加入例如以下OpenCV的依赖文件

    INCLUDEPATH+=F:ProgramFilesprogrammeopenCVselfBinincludeopencv

                  F:ProgramFilesprogrammeopenCVselfBinincludeopencv2

                  F:ProgramFilesprogrammeopenCVselfBininclude

    LIBS+=F:ProgramFilesprogrammeopenCVselfBinliblibopencv_calib3d244.dll.a

          F:ProgramFilesprogrammeopenCVselfBinliblibopencv_contrib244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_core244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_features2d244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_flann244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_gpu244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_highgui244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_imgproc244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_legacy244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_ml244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_objdetect244.dll.a

            F:ProgramFilesprogrammeopenCVselfBinliblibopencv_video244.dll.a

    事实上有种简单的做法。可是有个缺点是可能包括链接库较多(亲測,这样的方法没有成功。)

    INCLUDEPATH+=F:ProgramFilesprogrammeopenCVselfBinincludeopencv

                        F:ProgramFilesprogrammeopenCVselfBinincludeopencv2

                        F:ProgramFilesprogrammeopenCVselfBininclude

    LIBS+=F:ProgramFilesprogrammeopenCVselfBinlib

    3main.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;

    }

    3.4)执行程序。可看到图片展示。

  • 相关阅读:
    一本通 1297:公共子序列
    【未完】一本通 1277:【例9.21】方格取数
    一本通 1295:装箱问题
    一本通 1268:【例9.12】完全背包问题
    【BZOJ4416】阶乘字符串(SHOI2013)-状压DP
    【BZOJ2658】小蓝的好友(ZJOI2012)-扫描线+Treap
    【BZOJ2159】Crash的文明世界-第二类斯特林数+树形DP
    【HDU4336】Card Collector-Min-Max容斥
    【BZOJ3997】组合数学(TJOI2015)-Dilworth定理+DP
    【LOJ2537】Minimax(PKUWC2018)-树形DP+线段树合并
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7288955.html
Copyright © 2011-2022 走看看