OpenNI 2.0 - Another Way To Use Kinect
Written by Harry Fairhead   
Saturday, 22 December 2012

PrimeSense, the company who invented the Kinect hardware, has just released Version 2 of its OpenNI SDK and it's a major revision. What does it have to offer the Kinect or depth camera programmer?

OpenNI  is a framework for 3D Natural Interaction sensors including PrimeSense's own reference device and the Asus Xtion sensor. It also supports Microsoft's Kinect but in this case you also have to install the Microsoft SDK to provide the special drivers that are needed.

OpenNI2lbanner

The new version is available for Windows 32 and 64 bit and Linux an OSX version is in the pipeline. Once installed you can create programs using C++ via Visual Studio or GCC. To quote the documentation:

"OpenNI 2.0 represents a major change in the underlying design philosophy of OpenNI.  A careful analysis of the existing API has revealed that it has many features that are rarely or never used by the community.  When designing OpenNI 2.0, the OpenNI team endeavored to greatly reduce the complexity of the API.  Features have been redesigned to reflect actual use by the community.  The method used to communicate with depth sensors has been made easier to understand. "

In other words, some of the more complex features have been removed from the SDK and, if appropriate, moved into the "middleware". The SDK doesn't do much more than give you access to the raw data provided by the sensor. It you want to gain access to higher level "processed" - gestures and skeleton detection and tracking then you have to install an additional layer of middleware. There are two problems with the Middleware. The first is that it isn't open source like the SDK and you have to register to use it. The second is that many Kinect programmers are of the opinion that Microsoft's "middleware" included in the Microsoft SDK is very difficult to beat.  PrimeSense's own middleware, NiTE 2.0 has also been revamped to work with the new SDK.

 

openNI2structure

 

Other improvements in the SDK include simplified approach to data types and the dropping of the complicated metaphors for using the device via its data. Overall the SDK is said to be easier to use and easier to learn. This may be true but if you have some software that makes use of the old SDK you are going to have to some work to upgrade it.

So why would you choose the OpenNI SDK over the Microsoft SDK?

If you have a non-Microsoft depth camera then you really don't have a choice the new SDK is all that is available. If you are working with the Kinect then you might opt for the OpenNI SDK because it is open source but its dependence on the Microsoft SDK rather spoils this advantage. The latest Microsoft SDK also has more resources and feature and comes with the "middleware" built in. It also allows you to code in .NET languages as well as C++.

If the recent announcement by PrimeSense that it is about to unveil a new and much smaller depth camera suitable for mobile devices proves good, then the role of OpenNI might just become much more important.

 

OpenNI2logo

More Information

OpenNI

PrimeSense

Articles

The Kinect Is About To Shrink

Kinect Tracks A Single Finger With A New SDK

Kinected Browser - Kinect On The Web

All About Kinect

Introduction To Kinect


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Ibis 8 Adds Streaming
05/03/2024

Ibis 8.0 has been released with stream processing backends. The new release includes Apache Flink as a streaming backend, and RisingWave, a streaming database backend. There's also a new batch backend [ ... ]



Android 15 Developer Preview Updated
25/03/2024

Google has released Android 15 Developer Preview 2 with changes including better handling of automatic language switching and updates for OpenJDK 17.


More News

 

 

Last Updated ( Saturday, 22 December 2012 )