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

声明:本文转载自  wangtaohappy 


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

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

搭建环境:

操作系统:Win7

Qt版本:Qt4.8                                    

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

首先,下载最新版的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中位置随意,最前面或最后面都可以;安装路径不同的,只要改一下自己的正确安装路径即可)

[cpp]  view plain  copy
 print ?
  1. INCLUDEPATH += C:\OpenCV2.4.4\opencv\build\include\opencv2\  
  2.                C:\OpenCV2.4.4\opencv\build\include\opencv\  
  3.                C:\OpenCV2.4.4\opencv\build\include  
  4.   
  5. CONFIG(debug,debug|release)  
  6. {  
  7. LIBS += C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_calib3d244.lib\  
  8.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_contrib244.lib\  
  9.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_core244.lib\  
  10.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_features2d244.lib\  
  11.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_flann244.lib\  
  12.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_gpu244.lib\  
  13.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_highgui244.lib\  
  14.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_imgproc244.lib\  
  15.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_legacy244.lib\  
  16.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ml244.lib\  
  17.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_objdetect244.lib\  
  18.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ts244.lib\  
  19.         C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_video244.lib\  
  20. }  

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

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

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

[cpp]  view plain  copy
 print ?
  1. QMAKE_INCDIR += C:\OpenCV2.4.4\opencv\build\include\opencv2\  
  2.                 C:\OpenCV2.4.4\opencv\build\include\opencv\  
  3.                 C:\OpenCV2.4.4\opencv\build\include  
  4. QMAKE_LIBS +=   C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_calib3d244.lib\  
  5.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_contrib244.lib\  
  6.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_core244.lib\  
  7.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_features2d244.lib\  
  8.                    C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_flann244.lib\  
  9.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_gpu244.lib\  
  10.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_highgui244.lib\  
  11.                 C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_imgproc244.lib\  
  12.                    C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_legacy244.lib\  
  13.                    C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ml244.lib\  
  14.                    C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_objdetect244.lib\  
  15.                    C:\OpenCV2.4.4\opencv\build\x86\vc10\lib\opencv_ts244.lib\  
  16.                    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文件吗?


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值