Getting Started With The Kinect

If you’re wanting to get started developing with or just using the Kinect there are numerous different pathways to follow depending upon your experience, project and final target audience.

The common drivers and SDKs/APIs discussed in our ‘Kinect Background and History’ article are compared in the table below and should help you decide which is the most suitable for your project.

Recent release of the Microsoft SDK have added functionality which have only previously been available with other SDK environments. Given the official support and regular updates, it’s the SDK we’d recommend for developing software tools.

SDK

OpenKinect

OpenNI

Microsoft SDK

RGB Camera Stream

o

o

o

IR Camera Stream

o

o

o (v1.6)

Depth Stream

o

o

o

Audio Stream

x

x

o

Skeleton Tracking

o

o

o

Commercial Usage

x

x

o

Intrinsic Calibration

o

o

o

Multiple Devices

o

o

o (4)

Language and OS Python, C, C++, C#, java, Windows, Mac, Linux Java, C#, C++, VB.Net, Windows, Mac, Linux C#, C++, VB.Net, Windows Only

Please see our getting started guides below if you’re interested in using any of the drivers/SDKs shown above.

Software RGB and Depth Display Export RGB and Depth Images Motion Capture 3D Scanning Backend Driver
RGB Demo Yes Yes Basic Skeleton Tracking Yes- Export point clouds OpenNI and Libfreenect
Brekel Kinect Yes Yes Good- uses NITE skeleton tracking, export to BVH files Yes- Export point clouds OpenNI
Matherix 3Dify No No No Very Good- move the Kinect around an environment/object and an accurate 3D model is produced. Can be exported as meshes or point clouds. OpenNI
Open Source PCL Kinect Fusion No No No Very Good for larger areas- move the Kinect around an environment and an accurate 3D model is produced. Can be exported as meshes or point clouds. OpenNI (Requires high end graphics card)

Libfreenect (OpenKinect)

OpenKinect is arguably the most complicated of the three drivers as the project is entirely open source and as a result the installation process is very code intensive and as a result can be very complex.

Possibly the easiest approach is to download the RGBDemo binaries for your relevant operating system as this will install the required drivers.  RGBDemo will provide a quick check that everything has been installed ok by displaying a live viewer as well as providing source code that will serve as good starting point for subsequent development projects. Here is a guide to help you get started.

 

OpenNI

If you’re wanting to start your project with OpenNI there are three separate installations you will need to carry out.  You’ll need OpenNI, SensorKinect (the Primesense driver for the Kinect) and NITE (the skeleton tracking engine).

Conveniently Brekel has packaged these installers into a single installation package, making installing the required drivers much easier. Brekel Kinect Install page.

OpenNI comes with no SDK but does have a number of sample programs in various languages included with the standard installation.

 

Microsoft Kinect SDK

The Microsoft SDK is arguably the easiest to install as the installation is packaged into a single package and is offered in both 32 and 64 bit versions.

The installation offers a full SDK with numerous examples to demonstrate what is possible with the SDK.  The SDK also provides good resources for distributing commercial installation packages as the Kinect driver installer can be packaged as part of the installation package.

Also included with the installation are a number of sample applications to demonstrate the various features that are available in the SDK. Kinect for Windows Download page

Alternatively, if you’re not into programming and just wish to use the Kinect as a hardware device there are a number of open source software applications which can be freely downloaded and used with your Kinect sensor.  The list below is by no means exhaustive but includes applications which we have experience using and have found to be useful.