Month: January 2013

Processing and Kinect: Resources

Java programmers can use the Kinect quite comfortably via the Processing language. On codasign there are a number of articles that’ll teach you how to do this quickly. It’s based on the OpenSimpleNI package.

The Kinect has become so popular because it can track a person in space by inferring a “skeleton” in 3D space (using a depth image). This means that the human user is not only detected in space but that his/her rough body structure is reconstructed and the system then know where certain key body parts (hands, feet, hip …) are located in space. SkeletonTracked

This can be used to react to movement in space (approaching, retreating…), body orientation (facing the system or not …), hand gestures (wave, swipe, cross …) and even body posture (leaning over, sitting …).

In the following linked-up pages, you can learn how to set up the Kinect with Processing and how to obtain skeleton information in 3D space. Gesture detection is yet another topic.

Installing OpenNi for Processing: shows you how to get started.

Using the Kinect with Processing: Overview of Kinect-related pages in codasign.

Skeleton Tracking with the Kinect: Explains how to access the skeleton information.

Getting Joint Position in 3D Space from the Kinect: This is interesting because it does not only show how to retrieve joint locations but also how to easily obtain the projection onto screen coordinates.

Reference for Simple-OpenNI and the Kinect: Some potentially interesting information about the SimpleOpenNI class.

Processing: How to link up the (local) Processing API reference

Processing has a nice API reference page under http://processing.org/reference.You also have this locally (i.e. on your hard drive) once you install Processing and can open it in the main menu under Help > Reference.

Processing API

Under Windows, your Processing directory is probably in your C:\Programs directory. Go there and then to processing-2.0b7 (or whatever it’s called in your case) > modes > java > reference. Open index.html.

On a Mac, you go to your Applications folder, find Processing.app, rightclick and choose “show contents”. Then go to Contents > Resources > Java > modes > java > reference. Open index.html.

Creative Coding

It’s fascinating to see how many coding platform projects are dedicated to facilitating programming specifically for artists.

The following video presents three such projects. It features Processing (a Java derivative), Cinder (a C++ based framework) and OpenFrameworks (also C++). All of them are free and open source.

Let’s use this opportunity to post two examples of “creative coding”, both dealing with transformations of the human body. The first one is a video called “unnamed soundsculpture“, a work by onformative.

They used Kinects to record a dancer and used particle systems to transform the result. The making of is at least as interesting as the final result:

The second example is “Future Self”, a light sculpture, that works with sensor input about the position/pose of the observer.

Copyright © 2024 Michael Kipp's Blog

Theme by Anders NorenUp ↑