系统说明
最近使用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
然后点击左边栏的绿色三角,运行程序
结果如下:
windows下Qt Creator5.1.0编写程序以及调用OpenCV库的更多相关文章
-
关于windows下QT以及QT creator的安装
普及 之 windows下qt的安装及配置 qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...
-
关于 Windows 下 Qt 开发,这个问题必须要搞清楚!
小伙伴们,大家好,小北师兄又来喂饭啦,从上次写完<一个例子让你秒懂 Qt Creator 编译原理>后,师兄对于 Qt 的一些环境配置有了更深的理解,这对师兄进行 Qt 的后续学习起到了很 ...
-
windows下配置lamp环境(0)---软件获取
工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...
-
Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
-
[置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so
0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...
-
android调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so (转载)
转自:http://blog.csdn.net/jiuyueguang/article/details/9449737 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言 1:本文主要作为 ...
-
windeployqt.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 ...
-
Windows下Qt VS 打包程序 到他人电脑安装运行出现的问题
1.可能缺程序依赖的Qt动态库 ------> 使用Qt自带的windeployqt进入安装程序所在的文件夹内进行自动配置 将程序安装在C盘之外的盘,这样可以方便windeployqt ...
-
windows下使用adb工具查看android程序cpu和内存消耗情况
在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡.觉得应该看看程序的cpu和内存消耗 一直以来都在windows下编程,已经习惯 ...
随机推荐
-
Android的Message Pool是什么——源码角度分析
原文地址: http://blog.csdn.net/xplee0576/article/details/46875555 Android中,我们在线程之间通信传递通常采用Android的消息机制,而 ...
-
Unity5中的MetaPass
前些天烘焙lightmap的时候发现用自己写的Shader的模型在烘焙时候不会烘焙效果不对,它不会产生对周围物体的间接光照,但是我放到了unity4.x中就是没问题的.查了一番,发现Unity5中加了 ...
-
用PHP访问数据库
<?php //1造链接.面向对象 .方式对象方式 //把对象定个名字$db //MySQLi:数据扩展类.在MySQLi里做对象() //host:代表服务器地址也叫做本机[本机服务器loca ...
-
JAVA线程锁-读写锁应用,简单的缓存系统
在JAVA1.5版本以后,JAVA API中提供了ReadWriteLock,此类是一个接口,在它的实现类中ReentrantReadWriteLock中有这样一段代码 class CachedDat ...
-
UIScrollView滚动视图
一.基本知识 1.初始化 UIScrollView #import "ViewController.h" #define WIDTH[[UIScreen mainScreen]bo ...
-
about JNI
1.Java对C/C++事件处理的封装JIT(Just in Time.Java语言的原动态编译技术) 大多数的游戏引擎都是使用可移植的C语言开发的,然后通过简单的封装以适应特殊的平台. 2.Andr ...
-
一步步学会使用SeaJS(转)
原文出处:一步步学会使用SeaJS 2.0 本文分为以下8步,熟悉之后就能够熟练使用SeaJS,从此之后你的生活会变得更加轻松愉悦! 1.SeaJS是什么? 2.下载并检阅SeaJS 3.建立工程和各 ...
-
ISP PIPLINE (三) BPC
what is the Bad Pixel? 坏点为死点,也就是基本不随照度变化呈现光电线性转换的关系.表现为暗态常亮,亮态常暗. 坏点分类:静态坏点:亮坏点,暗坏点. ...
-
StringBuufer与StringBulder线程的区别
StringBulder的append方法 不是synchronized修饰的 线程不安全 效率相对很快StringBuufer的append方法 是 synchronized修饰的 ...
-
python with语句中的变量有作用域吗?
一直以为python中的with语句中的变量,只在with语句块中起作用.不然为什么要缩进一个级别呢? 呵呵,然而并没有为with语句内的变量创建新的作用域. 举例: # test.py with o ...