OpenNI(Open Natural Interaction)(开放式的自然交互)是一个由业界领导的非营利组织。
该组织专注于提高和改善自然交互设备、应用软件的互操作能力。通过使用这些硬件和中间件(软件)来很方便的访问和使用一些设备。该组织创建于2010年11月,网站与12月8号正式公开。主要成员之一是PrimeSense公司,Kinect的核心芯片正是这家公司提供的。(其他成员还有:开发ROS的机器人公司Willow Garage,以及游戏公司Side-Kick)。
OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。OpenNI API由一组可用来编写通用自然交互应用的接口组成。OpenNI的主要目的是要形成一个标准的API,来搭建以下两方面之间通信的桥梁:
1、视觉和音频传感器(包括分析周围环境的设备);
2、视觉和音频感知中间件(用于实时的记录音频和视觉分析的数据并理解它们的软件组件)。
例如,一个中间件可以接收一副有人的图像,计算并返回人手掌在图像中的位置。OpenNI提供了一组基于传感器设备的API,以及一组由中间件组件[1]实现的API。通过打破传感器和中间件之间的依赖,使用OpenNI的API编写应用程序就不需要额外的努力去处理由不同的中间件共存带来的问题(跨平台)。
OpenNI的API还允许开发人员直接基于最原始的数据格式编写中间件上层的算法,而不管这些数据是由哪个传感器设备产生的。同时OpenNI的这种机制给了传感器制造商一个充分的自由空间去制造自己的传感器而不用考虑上层OpenNI兼容的应用程序。
OpenNI API使得自然交互应用开发人员通过传感器输出的标准化了的数据类型来处理真实的三维数据(这些标准化的数据类型可以表示人体全身,手的位置,或者仅仅是一个含有深度信息的像素图等)。编写应用程序的时候不用考虑传感器或中间件供应商相关的细节。
OpenNI是微软的xbox 360配件kinect,在PC上的开源驱动必须安装的一个API。