OpenNI的基础应用-1

2025-05-21 20:25:06

1、OpenNI程序流程:1)首先建立上下文对象(Context),也就是为整个应用程序创建一个主要环境。2)建立和设定生产节点(Production Nodes)。3)节点产生资料,开发者所做的就是更新资料、读取资料,以及处理资料。4)等到开发者处理完资料的需求之后,流程就会进入停止生产资料这一步,5)最后还需要手动释放资源。

OpenNI的基础应用-1

2、上下文对象初始化:OpenNI的主要对象就是上下文对象,上下文对象记录了使用OpenNI的所有信息,上下文对象被使用的时候,必须先对其进行初始化。对上下文对象初始化具有两种初始化方法:系统默认初始化方法即Init()函数法;通过XML文档进行初始化的方法。如图所示:

OpenNI的基础应用-1
OpenNI的基础应用-1

3、创建生产节点:在OpenNI的框架中,实际的硬件设备在应用程序中会对应一个生产节点,生产瘠彐伊竽节点就是产生数赍铈于脏据功能的虚拟节点,在OpenNI程序中的上下文对象中,可以有一个或多个生产节点,这些生产节点在实际运用中起到供给开发者数据的功能,当然在使用这些节点之前首先要创建这些节点。创建节点分三步:声明一个节点;创建一个节点;将生产节点导入到相应的上下文对象中。

OpenNI的基础应用-1
OpenNI的基础应用-1
OpenNI的基础应用-1

4、使用XML文档中的生产节点:通过XML文档对上下文对象进行初始化之后,如果XML文档中有预先定义好的生产节点,此时就无需在另外创建生产节点。此时定义一个生产节点,使用上下文对象(context)下的FindExistingNode函数就可以找到预先定义好的生产节点。

OpenNI的基础应用-1

5、错误信息返回:每一个蚪嬷吃败OpenNI应用程序中某些功能模块都有可能出错,并且会返回一个状态值XnStatus,在OpenNI中XnStatus类型的变量值为XN_S皈其拄攥TATUS_OK则代表某些功能被成功执行,而为其他值则表示这块功能出现了某些错误。如果想知道进一步获得具体的错误信息,则可以使用xnGetStatusString()函数,该函数会返回关于错误的具体描述。

OpenNI的基础应用-1

6、开始、停止产生数据;在OpenNI中,每一个生产节点被创建后并不会立即产生数据,在接受到启动命令之后才会开始产生数据。在上下文的对象内的生产节点产生数据的“开关”,是由上下文对象统一进行控制的。停止产生数据也是进行统一控制的,即通过上下文对象控制停止产生数据之后,该上下文对象内的所有生产节点都会停止产生数据。

OpenNI的基础应用-1
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢