摘要: 回顾还记得下面的图像吧。首先使用NiTE中间件获得骨骼数据;然后再利用到NiTE中的函数得到的深度图像mUserFrame.getDepthFrame();最后将骨骼坐标点映射到深度图像中。二、结合彩色图像显示骨骼坐标信息 深度数据毕竟不好看,而且显示效果不好,所以今天参照他人的代码和自身之前的博文“谈谈NITE 2与OpenCV结合的第二个程序(提取人体骨骼坐标)”和“谈谈OpenNI 2与OpenCV结合的第一个程序”整理结合,将骨骼坐标信息显示到彩色图像中,具体不做分析了,直接上代码 阅读全文
posted @ 2013-01-22 10:36 叶梅树 阅读(5979) 评论(16) 推荐(3) 编辑
摘要: 模板方法模式定义:defines the skeleton of an algorithm in a method, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.定义一个方法操作算法的框架(骨架结构),而将一些步骤延迟到子类中。 阅读全文
posted @ 2013-01-20 16:45 叶梅树 阅读(5008) 评论(3) 推荐(1) 编辑
摘要: 一、Android源码学习之装饰模式应用装饰模式定义:Attach additional responsibilities to an object dynamically keeping the same interface. Decoators provide a flexible alternative to subclassing for extending functionality.动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。二、Android源码学习之单例模式应用单例模式定义:Ensure a class has only one insta 阅读全文
posted @ 2013-01-20 14:17 叶梅树 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 在谈谈NITE 2与OpenCV结合的第一个程序中,通过手心坐标能够粗略的截取手的图像信息,但还是有种意犹未尽的感觉,所以今天根据OpenCV常用的轮廓、凸包等图像处理函数,在此基础上,获得指尖坐标(我表示很粗糙,请高手们勿喷~~~)。 这里废话不多说了,直接上代码: 阅读全文
posted @ 2013-01-19 10:16 叶梅树 阅读(6872) 评论(12) 推荐(0) 编辑
摘要: NITE 2的基本使用主要包括以下几个步骤: 1. 初始化NITE环境: nite::NiTE::initialize(); 2. 创建User跟踪器: nite::UserTracker mUserTracker; mUserTracker.create(); 3. 创建并读取User Frame信息:nite::UserTrackerFrameRef mUserFrame; mUserTracker.readFrame( &mUserFrame ); 4. 从User Frame信息中获取User信息: const nite::Arraynite::UserD 阅读全文
posted @ 2013-01-16 12:17 叶梅树 阅读(7129) 评论(5) 推荐(1) 编辑
摘要: 在OpenNI 1.X的时候,OpenNI的整个framework是采用类似plug-in的机制,让开发者可以利用OpenNI所提供的标准框架,使用中间件(Middleware)提供的人体跟踪技术、手部跟踪等功能,不过在OPenNI 2 SDK的时候,为了简化架构、增加开发的弹性,所以把这个架构移除了,现在的整个框架如下图所示(截取于OpenNI官网): 阅读全文
posted @ 2013-01-12 14:41 叶梅树 阅读(2480) 评论(0) 推荐(0) 编辑
摘要: 开始之前,让我们自己开始再熟练熟练NITE 2的基本使用,主要包括以下几个步骤: 1. 初始化NITE环境: nite::NiTE::initialize(); 2. 创建User跟踪器: nite::UserTracker mUserTracker;mUserTracker.create(); 3. 创建并读取User Frame信息:nite::UserTrackerFrameRef mUserFrame; mUserTracker.readFrame( &mUserFrame ); 4. 从User Frame信息中获取User信息:const nite::Arrayni 阅读全文
posted @ 2013-01-12 13:44 叶梅树 阅读(3793) 评论(8) 推荐(2) 编辑
摘要: 开始之前,让我们自己开始再熟练熟练OpenNI 2的基本使用,主要包括以下几个步骤:1. 初始化OpenNI环境:openni::OpenNI::initialize(); 2. 声明并打开Device设备:openni::Device devAnyDevice;devAnyDevice.open( openni::ANY_DEVICE ); 3. 创建并打开深度数据流:openni::VideoStream streamDepth;streamDepth.create( devAnyDevice, openni::SENSOR_DEPTH );streamDepth.start();4. . 阅读全文
posted @ 2013-01-11 18:14 叶梅树 阅读(12836) 评论(6) 推荐(3) 编辑
摘要: 工厂方法模式定义:Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。常用的工厂方法模式结构:如上图所示 阅读全文
posted @ 2013-01-08 10:03 叶梅树 阅读(2705) 评论(4) 推荐(1) 编辑
摘要: 适配器模式定义:Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatile interfaces.将一个类的接口变成客户端所期待的另一中接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。其中用到适配器模式的经典例子就是 阅读全文
posted @ 2013-01-06 22:52 叶梅树 阅读(5084) 评论(4) 推荐(3) 编辑