最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本,
系统: windows xp
QT IDE:QT Creator5.1.0
OpenCV版本:OpenCV2.44
QT编译:Desktop_Qt_5_1_0_MSVC2010_32bit
首先,程序的下载安装,以及OpenCV环境变量的设置,都在前面几篇博文介绍了
OpenCV+VS+QT环境搭建:OpenCV2.4.5 + QT4.8.4 + VS2010 环境搭建
QT5.1.0 安装 :VS2010+QT5.1+opencv2.4.5图像界面第一个程序
当然有好多博文上介绍,说OpenCV需要CMake,在这我申明新版本的OpenCV已经CMark过了,不需要重新编译,下载安装OpenCV2.4.4,解压安装之后可以看出有build文件夹,这就是编译后的文件,直接调用就行。另外本文使用的VS调试,不是MinGW调试,另外由于VS 2010比较大,编译程序比较慢,QT Creator简洁方便,编译速度快得多,所以使用QT Creator作为IDE。
QT 5版本和QT4版本的程序之间的差异不是很大,没有像3版本到4版本变化那么明显,当时都让人很难选择是弃了QT3重新学习QT4,还是继续使用QT3。但是QT5还是有些变化,由于QT5出来时时间不是很多,所以网上资料也不多,但是QT5是趋势,后续还会有很多资料出来,论坛也会很多帖子讨论,所以选择QT5是没有错的,在这介绍一本QT5的书,适合初学者。
书籍的PDF下载地址:Qt学习之路2
下面进入正题:QT 5.1.0如果调用OpenCV库
打开QT Creator,选择文件,新建文件或项目
选择应用程序-》Qt控制台应用,
命名:testopencv,文件放置位置自己设定
下一步,默认选项,
最后一步,完成就行。
然后修改Pro文件,双击testopencv.pro,进入编辑界面,在后面添加opencv的include和lib的路径
在后面添加:
INCLUDEPATH += D:\OpenCV\build\include\ INCLUDEPATH += D:\OpenCV\build\include\opencv\ INCLUDEPATH += D:\OpenCV\build\include\opencv2\ CONFIG(debug,debug|release) { LIBS += -LD:\OpenCV\build\x86\vc10\lib \ -lopencv_core244d \ -lopencv_highgui244d \ -lopencv_imgproc244d \ -lopencv_features2d244d \ -lopencv_calib3d244d } else { LIBS += -LD:\OpenCV\build\x86\vc10\lib \ -lopencv_core244 \ -lopencv_highgui244 \ -lopencv_imgproc244 \ -lopencv_features2d244 \ -lopencv_calib3d244 }
然后右键testopencv项目,选择qmake一下,编译完成后,在修改main.cpp函数
将main.cpp的函数修改为
#include <opencv2\core\core.hpp> #include <opencv2\highgui\highgui.hpp> using namespace cv; int main(){ //read a image Mat image= imread("img.jpg"); // avoid mem error if (image.empty()){ namedWindow("can not find image : lena.jpg"); waitKey(); return -1; } //creat image windows named "My Image" namedWindow("My Image"); //show the image on window imshow("My Image",image); //wait key for 5000ms waitKey(5000); return 1; }注意img.jpg需要debug文件夹中,本程序的文件名 D:\visual studio 2010\QT\build-testopencv-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug
然后点击左边栏的绿色三角,运行程序
结果如下: