Qt4.8下应用OpenCV2.4.4搭建环境详细步骤(win7)
今天,研究了下Qt中如何应用OpenCV的问题。
与VC6.0环境下MFC只能应用OpenCV1.0版本不同,Qt中可以应用最新的OpenCV2.4.x版本(又一个Qt的好处)。
搭建环境:
操作系统:Win7
Qt版本:Qt4.8
开发环境:Qt Creator 2.4.1
opencv版本:OpenCV2.4.4,官网下载解压后竟然2.6G,可能与支持的平台如Android,Java等越来越多有关系。
首先,下载最新版的OpenCV版本,解压安装。
注意:因为Qt识别安装路径中的空格会出错,所以安装路径不要有空格,我的安装路径是C:\OpenCV2.4.4。
Qt中应用OpenCV方法有两个:
- 1、在每个Qt工程的 .pro文件中添加头文件和lib文件。参考 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就拷贝进什么,为以后方便就全拷贝进去)
原文地址:http://blog.csdn.net/wangtaohappy/article/details/8687432
下一篇 绫辻行人《杀人惊愕馆》读后感
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: