OpenNI+Kinect手势跟踪与分割类设计详解

需积分: 10 1 下载量 68 浏览量 更新于2024-09-13 收藏 128KB DOC 举报
本文是一篇关于使用Kinect进行手部跟踪和识别的教程,着重于一个简化版的类设计,该类在OpenNI+Kinect系列博文中为基础,去除了与手势无关的驱动部分,以便专注于手部操作的处理。这个类保留了手势识别、手部跟踪以及手部位置坐标等功能,并遵循Google C++编程规范,提高了代码的可读性和结构清晰度。 开发环境主要包括QtCreator 2.5.1、OpenNI 1.5.4.0、Qt 4.8.2和OpenCV 2.4.2。作者强调了编程规范的应用,例如: 1. 代码组织:将类的设计分解为头文件(.h)和源文件(.cpp),以提高代码的模块化和维护性。 2. 声明顺序:按照Google C++风格,类的成员定义遵循公共部分(Public)在前,保护部分(Protected)其次,私有部分(Private)在后。内部的成员函数在成员变量之前。 3. 函数简洁性:提倡函数体短小、功能单一,增强代码的可读性和执行效率。 4. 命名约定:成员函数以大写字母开头,每个单词首字母大写;成员变量全部小写,单词间用下划线分隔,且以下划线结尾。对于typedef类型的命名,如XnUserID,采用大写字母开头且无下划线的格式。 5. OpenNI知识点:通过OpenNI源码中typedef语句展示了XnUserID类型的定义,它是unsigned int类型,用于标识不同手部的ID。在类设计中,XnUserID被用作参数传递,如在手部检测回调函数中。 本文主要介绍了如何通过遵循编程规范,特别是Google C++风格,对OpenNI进行扩展,实现一个专用于手部跟踪和识别的类,使得开发过程更加高效且代码易于理解和维护。通过阅读本文,读者可以学习到如何在实际项目中整合这些技术,并提升代码质量。