ros&kinect的openni驱动

最近在进行turtlebot相关开发,使用了深度摄像头kinect1和雷达rplidar两个硬件设备作为感知设备。在进行kinect1驱动安装过程中,我发现网络上相关的驱动有两种,freenect和openni。鉴于常常听说openni这个名词,我对其进行了一些了解。

OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。OpenNI API由一组可用来编写通用自然交互应用的接口组成。OpenNI的主要目的是要形成一个标准的API,来搭建视觉和音频传感器与视觉和音频感知中间件通信的桥梁ros&kinect的openni驱动

以上摘自百度百科我的理解为,openni是一组接口,安装了openni后可以在不了解音频、视频传感器的硬件信息和数据格式的情况之下开发上层的应用。同时,openni面对不同的硬件设备,可以基于最原始的数据格式进行处理,这也为不少硬件制造商提供了便利。

libfreenect不同于openni,openni是kinect的官方驱动,libfreenect是黑客驱动,目标平台是linux、微软等。

总之。openni较于libfreenect,兼容性更高?跨更多平台?