Qt4.8下应用OpenCV2.4.4搭建环境详细步骤(win7系统)

今天,研究了下Qt 中如何应用OpenCV的问题。

与VC6.0环境下MFC只能应用OpenCV1.0版本不同,Qt 中可以应用最新的OpenCV2.4.x版本(又一个Qt 的好处)。

搭建环境:

操作系统:Win7

Qt版本:Qt4.8                                    

OpenCV版本:OpenCV2.4.4     官网下载解压后竟然2.6G,可能与支持的平台如android,java等越来越多有关系。

首先,下载最新版的OpenCV版本,解压安装。

注意:因为Qt识别安装路径中的空格会出错,所以安装路径不要有空格,我的安装路径是C:\OpenCV2.4.4。

Qt中应用OpenCV方法有两个:

(1)在每个Qt工程的 .pro文件中添加头文件和lib文件。

 参考网址:http://wenku.baidu.com/view/09c1010290c69ec3d5bb7581.html

 http://www.opencv.org.cn/index.php/%E5%9C%A8Qt%E4%B8%AD%E4%BD%BF%E7%94%A8OpenCV%E5%BA%93

 (2)在QtCreator\qt\mkspecs\win32-g++\qmake.conf,在load(qt_config) 语句前添加OpenCV的头文件和库。(注:很简单)

 参考网址:http://opencv-extension-library.googlecode.com/svn/trunk/QtOpenCV/readme.txt

第一种方法在每个Qt工程的 .pro文件中添加头文件和lib文件。(注:每新建一个工程都需要修改,很麻烦)

参考如下:(代码在.pro中位置随意,最前面或最后面都可以;安装路径不同的,只要改一下自己的正确安装路径即可)

INCLUDEPATH += C:\OpenCV2.4.4\opencv\build\include\opencv2\
               C:\OpenCV2.4.4\opencv\build\include\opencv\
               C:\OpenCV2.4.4\opencv\build\include

CONFIG(debug,debug|release)
{
LIBS += C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_calib3d244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_contrib244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_core244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_features2d244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_flann244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_gpu244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_highgui244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_imgproc244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_legacy244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ml244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_objdetect244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ts244.lib\
        C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_video244.lib\
}

第二种方法在Qt目录mkspecs\win32-g++\qmake.conf中,在load(qt_config) 语句前添加OpenCV的头文件和库。(此方法不用每次都修改,改一次,一劳永逸)但是,此方法在写代码时,不提示函数,只是能够运行,这一点不太好!

用记事本打开qmake.conf。楼主的qmake.conf目录是D:\Qt\4.8.4\mkspecs\win32-g++。

添加代码如下:(楼主将代码添加在文件最后面)

QMAKE_INCDIR += C:\OpenCV2.4.4\opencv\build\include\opencv2\
                C:\OpenCV2.4.4\opencv\build\include\opencv\
                C:\OpenCV2.4.4\opencv\build\include
QMAKE_LIBS +=   C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_calib3d244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_contrib244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_core244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_features2d244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_flann244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_gpu244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_highgui244.lib\
                C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_imgproc244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_legacy244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ml244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_objdetect244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ts244.lib\
        	       C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_video244.lib\

 以上两种方法,注意代码的写法。
之后,在程序中添加相应的 .h文件,测试一下代码吧!什么?程序异常终止!

是的,还有最重要的一点那就是:还没有配置.dll文件呢!程序运行会需要dll库。

方法:一,在环境变量中,配置 path 加OpenCV中bin路径。(此方法楼主试验,debug中执行.exe可行,但在工程运行项目中却不行,不知为什么?)

       二,在将OpenCV安装路径下所有的.dll文件拷贝到C:\Windows\System32目录下。

       楼主的OpenCV下dll文件目录:C:\OpenCV2.4.4\opencv\build\x86\vc10\bin。(此方法好,需要什么dll就拷贝进什么,为以后方便就全拷贝进去)

 

PS:网上有人说,先自己编译什么的,楼主不知什么意思,不是有自带的现成的lib和dll文件吗?

 

你可能感兴趣的:(qt,环境搭建,opencv)