zoukankan      html  css  js  c++  java
  • OpenNI UserGuide

             自从微软的kinect体感应器横空出世以后,关于OpenNI方面的开发渐渐多了起来,我也在前人研究的基础上简单的介绍一下OpenNI到底是个什么东东。

            OpenNI(Open Natural Interaction)是PrimeSense公司一个开源的开发库,是一个基于听觉和视觉方向的开发库。OpenNI提供一套由传感器设备实现的接口和一套由中间件实现的接口。通过分离传感器和中间件的依赖关系,OpenNI’s API能够让应用程序轻松地在不同的中间件模块上编写和移植(一次编写,到处部署)。OpenNI’s API 也能让中间件开发人员编写基于原始的数据格式,不必考虑是哪种传感器设备产生的,让传感器生产厂商有能力生产支持任何兼容OpenNI框架的应用程序。OpenNI标准API能够使体感应用开发者通过使用数据类型来跟踪现实(三维)的场景,这些类型都是通过传感器的输入数据来计算的,比如:完全肢体展现,一组深度像素数据等)。应用程序的编写不必考虑传感器和中间件的提供者。

    关于Application、OpenNI、hardware之间分层关系:


    目前OpenNI支持的硬件模块:

     1、3D sensor 三维传感器

     2、RGB camera RGB 摄像头

     3、IR camera 红外摄像头

     4、Audio device 音频设备(一个或多个麦克风)


    中间组件:

    1、全肢体分析中间件:是一个处理感官数据,生成肢体相关信息(常见的数据结构如关节、方向、重心等)
    2、手心分析中间件:是一个处理感官数据和生成手心的位置信息的软件组件。
    3、手势探测中间件:是一个分辨预定义的手势(如挥手)和提醒应用程序的软件组件。
    4、场景分析中间件:是一个分析场景图像的软件中间件,产生如下信息:
       (1)场景的前景(轮廓)和背景的分离
       (2) 平面图的坐标
       (3)场景中独特轮廓的识别


    传感器相关的生产节点

     1、设备:这种节点是物理的设备(例如:深度传感器,或者RGB摄像头)。这个节点的主要角色是使设备可配置。

     2、深度生成器:这种节点能够生成深度映射。它应该被任何希望通过OpenNI认证的三维传感器实现。

     3、 图像生成器:这种节点能够生成彩色图像映射。它应该被任何希望通过OpenNI认证的才是传感器实现。

     4、红外生成器:这种节点能够生成红外图像映射。它应该被任何希望通过OpenNI认证的才是传感器实现。

     5、音频生成器:这种节点产生音频流。它应该被任何希望通过OpenNI认证的才是传感器实现。


    中间件相关的生产节点

     1、手势告警生成器:当特定手势被识别能够回调应用程序。

     2、场景分析器:分析一个场景,包括前景从背景分开,识别场景中的体型,发现平面图。场景分析器的主要输出是标记的深度映射,每一个像素都包含一个标签,指明是体型还是背景的一部分。

     3、手心生成器:支持手的发现和跟踪。这个节点当发现一个手心(手掌),或者当手心被跟踪时,位置发生了变化,就产生一个回调事件。

     4、用户生成器:生成一个在三维场景中的全部或部分肢体图画。


    OpenNI目前支持的能力

    1、替换视图:让任何类型的映射生成器(深度、图像、红外)能够转换它的数据,显得仿佛传感器被放到了另一个位置(被另一个生产节点显示,通常是另外一个传感器)。

    2、 裁剪:让一个映射生成器(景深、图像、红外)能够输出帧的可选区域而区别于整个帧。当具备裁剪能力是,生成的映射的尺寸被减少为适合更低的分辨率。例如,一个映射生成器工作在VGA分辨率(640x480),应用程序要裁剪在300x200,下    一个像素行从300像素后开始。裁剪在性能提升方面非常有用。

    3、帧同步:让两个传感器产生帧数据(例如:深度、图像)能够同步他们的帧,以致他们同时到达。

    4、镜像:让生成器能够生成的数据的镜像。如果传感器放在用户面前,传感器捕捉到的影像被镜像,镜像这时很有用,这样右手就   可以以镜像的体型中的左手出现了。

    5、姿势检测:让用户生成器认出用户摆出的特定姿势。

    6、 骨骼:让用户生成器能够输出用户骨骼数据。这个数据包括骨骼关节的位置,跟踪骨骼的位置的能力,用户校准的能力。

    7、 用户位置:让深度生成器能够为场景的特定区域而优化输出特定深度映射。

    8、锁发现:让节点能够被上下文边界锁定。详细信息,参考在应用和锁节点间共享设备


               其实OpenNI的属性在其官网上介绍远不止这么多,又苦于英文水平不佳(官网为英文档),所以介绍到这么多。

  • 相关阅读:
    线程的终止pthread_exit和返回为什么终止的原因
    临界区互斥使用之使用自旋锁
    临界区的同步操作-------------使用信号量 实现
    常用解压操作
    group compare vs pair compare
    两个总体的参数关系
    纳伪|去真
    Ho|H1|p-value|p值与U值|单侧检验
    统计分布近似转化
    样本均值的标准误差|样本均值的标准差|总体标准差|样本标准差|简单随机抽样|样本均值估计|样本方差估计|
  • 原文地址:https://www.cnblogs.com/leven20061001/p/2724716.html
Copyright © 2011-2022 走看看