Working with Kinect for Windows and Flash

The Kinect for Windows SDK supports development in C++, C# and Visual Basic. None of these options are great for rapid prototyping. Fortunately, AIRKinect from the AS3nui team allows Flash applications to access the Kinect’s information using the Microsoft SDK.

AIRKinect is an Adobe Native Extension for Flash (ANE) and provides direct access to the Kinect from within an AIR 3.0 application. Previous options for using Kinect within Flash required a proxy server to get data from the Kinect. In comparison, the ANE approach is more responsive and easier to work with.

via Odopod – Working with Kinect for Windows and Flash.

New post over on the Odopod blog.

Odopod – Using Kinect within Flash Applications

On Wednesday, Microsoft released additional information about their upcoming SDK for the Kinect. However, if you don’t want to wait for that release, there are some great alternatives available already.

To better understand the potential Kinect holds for retail and other installation work at Odopod, I’ve been exploring different ways to integrate Kinect into Adobe Air applications. We’re using Air because it allows us to quickly build prototypes and explore this exciting new technology.

via Odopod – Using Kinect within Flash Applications.

Read more over on the Odopod blog.

Getting up and running with OpenNI and NITE on a Mac

I’m not a c++ developer, but I recently dug into the OpenNI and PrimeSense NITE samples with the ultimate goal of bridging output from the Kinect to Flash. In the end, I found AS3OpenNI and for the time being, don’t need to do any additional work in c++, but I found the experience helpful none-the-less. Following the jump, I detail the components and steps for getting an Xcode project set up. 

Terminology

  • OpenNI is a framework for natural interfaces.
  • PrimeSense is a sensor maker.
  • PrimeSense NITE is a module for OpenNI. It focuses on seeing hand movement and gestures.
  • PrimeSense Sensor (drivers for PrimeSense (but not Kinect?)).
  • SensorKinect (drivers for Kinect).

Installation
I installed everything per this article from Kinecthesis. Before that, I tried to build the latest unstable builds of OpenNI and Sensor, but was not able to make the OpenNI project following the provided instructions and the Sensor drivers did not work with the OpenNI build mentioned in the Kinecthesis article. So, the simplest thing to do is follow the complete set of instructions provided in that article.

Xcode project setup

If you are unfamiliar with Xcode, you should be able to compile the samples provided in the OpenNI and NITE repositories by completing the following:

  1. Copy all files from the Samples/SampleName directory into your Xcode project.
  2. Point the project to the Header files:
    1. Project > Edit Project Settings
    2. Scroll to Search Paths > Header Search Paths
    3. Recursively add /usr/include/ni
    4. Recursively add /usr/include/nite
  3. Point the project to the necissary Libraries:
    1. Project > Edit Project Settings
    2. Scroll to Linking > Other Linker Flags
    3. Add /usr/lib/libnimCodecs.dylib, /usr/lib/libnimMockNodes.dylib, /usr/lib/libnimRecorder.dylib, /usr/lib/libOpenNI.dylib, /usr/lib/libXnVFeatures.dylib, /usr/lib/libXnVHandGenerator.dylib
  4. Set project to 64-bit only. Since I am only interested in 64 bit right now and I only linked the 64 bit libraries above and I set the project away from the default (universal).
    1. Project > Edit Project Settings
    2. Scroll to Architectures > Architectures
    3. Change to 64-bit Intel
  5. Point the project to additional needed frameworks:
    1. Right click on project > Add > Existing Frameworks…
    2. Select OpenGL.framework
    3. Click add
    4. Right click on project > Add > Existing Frameworks…
    5. Click Add Other…
    6. Add /System/Library/Frameworks/GLUT.framework

That should do the trick. Below is a screen shot of my test.