View high resolution
There have been a number of exciting developments in the last few days related to XBox Kinect. For those that may not be aware of what it is, it’s a brand new interface to their Microsoft XBox games console. Kinect brings games without using a controller. By using projected infra-red light, the device is able to map the environment and via xbox built in software recognise gestures of any kind. Only few hours after the worldwide release of Kinect, guys at NUI Group, who posted results first, planed to only release the driver as open source once their $10k donation fund was filled up. In the meantime, Hector Martin performed a quick and hack of his own (three hours into the European launch) and released his results and code into the wild – named ‘libfreenect’.
Within a few hours of that Theo Watson ported it, making Kinect run from OSX for the first time. Most of Hector’s code was left unchanged but with some hacks to the libusb which were needed (and a few extra libusb commands ). At the same time as Theo was posting the work, Kyle McDonald was working on his point cloud app to make it work with Kinect by just using the saturation value (close range). manually aligning the texture to the depth.
Working together with the rest of the oF community, Kyle, Theo and Joshua Noble, the work they have done has now become an openFrameworks addon and available for download here.
This was quickly followed with openCV blob detection working with ofxKinect, allowing for detection of elements such as hands in real time. Memo Akten wrote a little demo to analyse the depth map for gestural 3D interaction. One hand to draw in 3D, two hands to rotate the view. Although just an early prototype, very impressive nevertheless. You can download the source for the below demo (GPL v2) here.
Simultaneously, Kyle continued with further point cloud experiments and in his words “you can never have too much DOF” this was the image posted on the forum (download). More work by Jason Laan, creating a colour point cloud (download).
Daniel Shiffman is now working on the port for Processing. This is all very preliminary, but here is a first pass as a Processing Kinect library: http://www.shiffman.net/p5/kinect.zip. Amazing work by the communities and clearly an example of the power of opensource. (via CreativeApplications.Net)

