Wednesday, April 27, 2011

Real World Mapping with the Kinect

   A real-time data capture application for generating real-world coloured point clouds with the Xbox Kinect and GPS capable Android phone.
This is very immature and hacky - done entirely as a proof-of-concept. Please don't expect anything at all from this. No warranty of any kind is expressed or implied.
Some of the initialisation code used in the application is courtesy of a tutorial on the C# libfreenect wrapper at SwitchOnTheCode.
The project uses libfreenect and the .NET wrapper for same, along with OpenTK for the Matrix maths and Proj.NET for the spatial transforms.
...
...
Putting those together, one can take the depth image from the Kinect and turn it in to a metric point cloud with real distances. Then, those points can be projected back to the RGB camera centre to determine which RGB pixel corresponds to each depth point, and hence arrive a colour for each point in the cloud. This lets the surfaces captured in the image appear textured. With a bit of coding I came up with this:

screen-shot-2011-01-20-at-10-19-09-pm.png?w=600&h=565

Read more: KinectMapper