windows下Qt Creator5.1.0编写程序以及调用OpenCV库

时间:2022-09-14 09:52:38

系统说明

最近使用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,选择文件,新建文件或项目

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

选择应用程序-》Qt控制台应用,

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

命名:testopencv,文件放置位置自己设定

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

下一步,默认选项,

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

最后一步,完成就行。

然后修改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
}

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

然后右键testopencv项目,选择qmake一下,编译完成后,在修改main.cpp函数

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

将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

然后点击左边栏的绿色三角,运行程序

结果如下:

windows下Qt Creator5.1.0编写程序以及调用OpenCV库

windows下Qt Creator5.1.0编写程序以及调用OpenCV库的更多相关文章

  1. 关于windows下QT以及QT creator的安装

    普及  之  windows下qt的安装及配置   qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...

  2. 关于 Windows 下 Qt 开发,这个问题必须要搞清楚!

    小伙伴们,大家好,小北师兄又来喂饭啦,从上次写完<一个例子让你秒懂 Qt Creator 编译原理>后,师兄对于 Qt 的一些环境配置有了更深的理解,这对师兄进行 Qt 的后续学习起到了很 ...

  3. windows下配置lamp环境&lpar;0&rpar;---软件获取

    工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...

  4. Qt for Windows:Qt 5&period;4&period;0 MinGW 静态编译版本制作 &lpar;转&rpar;

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  5. &lbrack;置顶&rsqb; android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello&period;so

    0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...

  6. android调用第三方库——第二篇——编写库android程序直接调用第三方库libhello&period;so (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9449737 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言 1:本文主要作为 ...

  7. windeployqt&period;exe 发布windows下qt产生的exe程序

    以官方 Qt 5.4.0+MinGW 开发环境为例,从开始菜单-->Qt 5.4.0-->5.4-->MinGW 4.9 (32-bit)-->Qt 5.4 for Deskt ...

  8. Windows下Qt VS 打包程序 到他人电脑安装运行出现的问题

    1.可能缺程序依赖的Qt动态库   ------>    使用Qt自带的windeployqt进入安装程序所在的文件夹内进行自动配置 将程序安装在C盘之外的盘,这样可以方便windeployqt ...

  9. windows下使用adb工具查看android程序cpu和内存消耗情况

    在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡.觉得应该看看程序的cpu和内存消耗 一直以来都在windows下编程,已经习惯 ...

随机推荐

  1. Android的Message Pool是什么——源码角度分析

    原文地址: http://blog.csdn.net/xplee0576/article/details/46875555 Android中,我们在线程之间通信传递通常采用Android的消息机制,而 ...

  2. Unity5中的MetaPass

    前些天烘焙lightmap的时候发现用自己写的Shader的模型在烘焙时候不会烘焙效果不对,它不会产生对周围物体的间接光照,但是我放到了unity4.x中就是没问题的.查了一番,发现Unity5中加了 ...

  3. 用PHP访问数据库

    <?php //1造链接.面向对象 .方式对象方式 //把对象定个名字$db //MySQLi:数据扩展类.在MySQLi里做对象() //host:代表服务器地址也叫做本机[本机服务器loca ...

  4. JAVA线程锁-读写锁应用,简单的缓存系统

    在JAVA1.5版本以后,JAVA API中提供了ReadWriteLock,此类是一个接口,在它的实现类中ReentrantReadWriteLock中有这样一段代码 class CachedDat ...

  5. UIScrollView滚动视图

    一.基本知识 1.初始化 UIScrollView #import "ViewController.h" #define WIDTH[[UIScreen mainScreen]bo ...

  6. about JNI

    1.Java对C/C++事件处理的封装JIT(Just in Time.Java语言的原动态编译技术) 大多数的游戏引擎都是使用可移植的C语言开发的,然后通过简单的封装以适应特殊的平台. 2.Andr ...

  7. 一步步学会使用SeaJS&lpar;转&rpar;

    原文出处:一步步学会使用SeaJS 2.0 本文分为以下8步,熟悉之后就能够熟练使用SeaJS,从此之后你的生活会变得更加轻松愉悦! 1.SeaJS是什么? 2.下载并检阅SeaJS 3.建立工程和各 ...

  8. ISP PIPLINE &lpar;三&rpar; BPC

    what is the Bad Pixel? 坏点为死点,也就是基本不随照度变化呈现光电线性转换的关系.表现为暗态常亮,亮态常暗. 坏点分类:静态坏点:亮坏点,暗坏点.                 ...

  9. StringBuufer与StringBulder线程的区别

    StringBulder的append方法 不是synchronized修饰的   线程不安全     效率相对很快StringBuufer的append方法  是 synchronized修饰的  ...

  10. python with语句中的变量有作用域吗?

    一直以为python中的with语句中的变量,只在with语句块中起作用.不然为什么要缩进一个级别呢? 呵呵,然而并没有为with语句内的变量创建新的作用域. 举例: # test.py with o ...