Kinect+OpenNI学习笔记之3(获取kinect的数据并在Qt中显示的类的设计)
摘要:前言 在上一篇文章Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)中,已经介绍了怎样使用OpenNI来获取Kinect的深度数据和颜色数据,并将获取到的结果在Qt中显示,不过那个代码是写在同一个cpp文件中,以后用到的时候不能讲这些显示的基本过程单独拿出来,比较麻烦。所以这节主要是将OpenNI获取图像的流程以及Qt显示这些图像的结果分开为了2个类来写,方便以后工程的直接拷贝。 开发环境:QtCreator2.5.1+OpenNI1.5.4.0+Qt4.8.2 实验说明 COpenNI这个类主要是初始化kinect设备,并获取深度图像和颜色图像,参加上...
阅读全文
posted @
2012-09-29 09:45
tornadomeet
阅读(6891)
推荐(1) 编辑
Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
摘要:前言 网上有不少使用Qt做界面,OpenNI为库来开发kinect。或许大家的第一个问题就是询问该怎样使用Kinect来获取颜色信息图和深度信息图呢?这一节就是简单来回答这个问题的。 开发环境:QtCreator2.5.1+OpenNI1.5.4.0+Qt4.8.2 实验说明: 在使用OpenNI来驱动读取kinect数据时,我们需要了解context object这个名词。查看了下OpenNI UserGuide文档,简单翻译下这个名词的意思: Context是openNI中一个主要的object,它掌握了OpenNI使用过程中应用程序的全部状态,以及这些状态的prodecti...
阅读全文
posted @
2012-09-27 23:15
tornadomeet
阅读(26726)
推荐(4) 编辑
Kinect+OpenNI学习笔记之1(开发环境的建立)
摘要:前言 一般的普通摄像机获取的是RGB彩色图像,在计算机视觉领域,很大一部分都是基于颜色图像来做处理的,取得了不少研究成果。最近几年的深度图研究给计算机视觉和图像处理带来了更多的信息,因为所获取的图像多了一个维度的,通常也称之为RGBD图。比较物美价廉的深度信息获取传感器有MS的Kinect,同时还有ASUS的Xtion。这2种传感器都能较为准确的获得一定范围内物体的深度信息。比如说Kinect的参数信息图如下: 要想在视觉上达到AI的水平还有很长的路要走,深度信息的提供无疑给视觉处理多带来了一份希望,多了深度这一维的信息肯定是有用的,所以本人打算以后结合色彩信息和深度信息来做...
阅读全文
posted @
2012-09-26 15:09
tornadomeet
阅读(29002)
推荐(4) 编辑
Android开发历程_18(XML文件解析)
摘要:前言 本文主要介绍在Android中怎样来解析XML文件。主要采用的是SAX机制,SAX全称为Simple API for XML,它既是一种接口,也是一个软件包。作为接口,SAX是事件驱动型XML解析的一个标准接口。XML文件解析一般有2种方法,DOM和SAX。其中DOM需要先将xml文档全部读入到电脑内存中,当文档内容太大时,该方法并不适用。SAX就比较好的解决了该问题,它是逐行解析的,可以随时中断。但是SAX的操作比较复杂。因此,这2种方法各有优缺点,看具体应用情况。在前面的文章Qt学习之路_12(简易数据管理系统)中使用的是Qt中的DOM方法。 实验说明 大多数SAX实现都会...
阅读全文
posted @
2012-09-24 10:11
tornadomeet
阅读(2336)
推荐(0) 编辑
Qt学习之路_14(简易音乐播放器)
摘要:前言 这一节实现一个简易的音乐播放器,其音乐播放的核心功能是采用Qt支持的Phonon框架,该框架在前一篇博文Qt学习之路_13(简易俄罗斯方块) 中已经使用过了,在俄罗斯方块中主要是用来设置背景音乐和消行的声音的。这里用这个框架同样是用来播放,暂停等多媒体的各种控制功能,另外该框架可以自动获取音频文件的一些信息,这样我们在设计播放列表时可以获取这些信息,比如歌手名,专辑名,时长,文件名等等。程序中桌面歌词的实现是继承了QLabel类,然后使用3层文本显示,最上面一层采用渐进显示的方式来达到歌词播放的动态效果。 实验的参考资料为http://www.yafeilinux.com/网站上...
阅读全文
posted @
2012-09-23 18:37
tornadomeet
阅读(57693)
推荐(8) 编辑
Qt学习之路_13(简易俄罗斯方块)
摘要:前言 这一节主要学习在Qt中怎样使用图形视图框架,实验完成的是一个简易的俄罗斯方块游戏,有了图形视图框架的支持,该游戏的设计变得非常简单,不需要考虑很多复杂的算法,比如说方块的碰撞检测,旋转,视图的设计等。从本实验中可以学到2D图形的绘制,游戏的逻辑设计,图形视图的应用,动画设置,背景音乐的添加,Phonon框架的应用等知识。实验的参考资料为http://www.yafeilinux.com/ 网站上yafei作者提供的代码,本人只是看懂其源码然后自己敲了一遍,代码做了稍微的改变,其设计方法和技巧全是原创作者yafei的功劳。 实验说明 注意本实验没有使用QtDesigner来设计界...
阅读全文
posted @
2012-09-22 19:24
tornadomeet
阅读(34866)
推荐(7) 编辑
Qt学习之路_12(简易数据管理系统)
摘要:前言 最近从大陆来到台湾,之间杂事很多,挤不出时间来更新博客… 这次主要是通过做一个简易的数据库管理系统,来学习在Qt中对数据库,xml,界面的各种操作,进一步熟悉Qt。一般而言数据通常存在文件,数据库,xml中,本文主要是介绍了sqlite,xml这2种存储数据的方法,实现了一个家用电器产品的销售小软件。参考资料为http://www.yafeilinux.com/ 代码基本也是作者yafei的,我只是看懂一些代码然后手动敲入加稍微修改而已。反正以学习他人的代码来进一步掌握Qt编程。 实验过程 该实验分为3个部分,商品管理,销售统计,和修改密码。 商品管理: 在程序运行时,已...
阅读全文
posted @
2012-09-19 21:15
tornadomeet
阅读(39542)
推荐(7) 编辑
PCA算法学习_1(OpenCV中PCA实现人脸降维)
摘要:前言: PCA是大家经常用来减少数据集的维数,同时保留数据集中对方差贡献最大的特征来达到简化数据集的目的。本文通过使用PCA来提取人脸中的特征脸这个例子,来熟悉下在oepncv中怎样使用PCA这个类。 开发环境:ubuntu12.04+Qt4.8.2+QtCreator2.5.1+opencv2.4.2 PCA数学理论: 关于PCA的理论,资料很多,公式也一大把,本人功底有限,理论方面这里就不列出了。下面主要从应用的角度大概来讲讲具体怎么实现数据集的降维。把原始数据中每个样本用一个向量表示,然后把所有样本组合起来构成一个矩阵。当然了,为了避免样本的单位的影响,样本集需要标准化。求该...
阅读全文
posted @
2012-09-06 11:13
tornadomeet
阅读(58618)
推荐(3) 编辑
Android开发历程_17(ContentProvider的使用)
摘要:前言 Content Provider为存储数据和获取数据提供了统一的接口,它可以完成在不同应用程序下的数据共享,而在上一篇文章中Android开发历程_16(SQLite的使用)讲到的SQLite只能在同一个程序中共享数据。另外android为一些常见的数据,比如说音频,视频,图片,通讯录等提供了Content Provider,这样我们就可以很方便的对这些类型的数据操作了。使用ContentProvider的好处是开发人员不需要考虑数据内部是怎么存储的,比如说如果我们想利用ContenProvider来存数据,只需告诉insert函数该ContentProvider的uri和想存...
阅读全文
posted @
2012-09-04 22:31
tornadomeet
阅读(3265)
推荐(1) 编辑
Android开发历程_16(SQLite的使用)
摘要:前言 SQLite是一种轻量级的小型数据库,虽然比较小,但是功能相对比较完善,一些常见的数据库基本功能也具有,在现在的嵌入式系统中使用该数据库的比较多,因为它占用系统资源很少。Android系统中也不例外,也是采用SQLite,本节中就学习下在andorid中怎样使用该数据库来存放数据,并且对SQLite完成简单的新建,更新,查询,删除等操作。 实验说明: Android中使用SQLite数据库时,需要用adb来辅助调试,如果想在windows下的cmd命令行中使用adb,必须先配置环境变量,我这里是配的用户环境变量path: C:\Program Files\android-s...
阅读全文
posted @
2012-09-03 10:55
tornadomeet
阅读(2708)
推荐(1) 编辑
Qt学习之路_11(简易多文档编辑器)
摘要:前言: 本文将介绍怎样用Qt做一个简单的多文档编辑器,该实验的过程中主要涉及到Qt窗口的设计,菜单栏(包括右击菜单),工具栏,状态栏,常见的文本文件等操作。参考资料为网址上的一个例子:http://www.yafeilinux.com/ 本来是在ubuntu下做这个实验的,可是一开始建立菜单栏等时,里面用的是中文,运行后中文就是不显示.在网上找了2天的办法,各种手段都试过了,什么编码方式啊,什么实用QTextCodec这个类啊都试过了,没成功。很不爽,暂时还是转到windows下吧。在ubuntu下只是简单的设计了该程序的界面,然后把那些代码弄到windows下后,打开main.p...
阅读全文
posted @
2012-09-02 17:37
tornadomeet
阅读(16919)
推荐(3) 编辑