Hi everyone,
This is my first post, but I've been watching and enjoying the growth
of this codebase. I've never really contributed to an open source
project before. So here it goes:
I've created a Matlab Image Acquisition Toolbox Adaptor for the Kinect
Depth Sensor. This software device allows for a parallel thread to
run within the matlab process and pump frames into the matlab
workspace at 16-bit depth and 30 frames per second. It's built based
on their included c++ adaptor kit. It requires the latest version of
Matlab (may work on older versions) and a license for the Image
Acquisition toolbox. If you're at a university, these are most likely
essentially free to you and/or your lab. I already had a skeleton
that I'd built for other projects and this was quick mod of that
code. Zephod's win32 kinect library is real easy to use.
Here's the youtube vid demoing my adaptor.
http://www.youtube.com/watch?v=njstg3jnCg0
In my opinion, this is the most efficient way to connect the kinect
data stream into Matlab. It is, however, difficult to create two
simultaneous streams from a single device (i.e. the RGB and the 11-bit
depth images), so I'm currently only streaming in the depth
information.
A few options might be to stack the images together in one large frame
that is 640x(480*5) for 8-bit RGB and 16-bit depth. But currently,
the IMAQ toolbox only supports a 1 or 3 plane frame and the planes
have to be a single fixed bit depth. You can have multiple "sources"
for a given hardware, but seem to only be able to pull from one source
at a time.
It also provides tilt motor control. I've thrown the compiled adaptor
dll, installation instructions, and the entire codebase up on a
quickly thrown together sourceforge site here:
http://matkinect.sourceforge.net/
Hopefully this will enable some engineers/scientists who don't
otherwise have C/C++ capabilities to jump into some applications with
kinect. It should also scale with an arbitrary number of kinects
creating multiple threaded interfaces into Matlab without burdening
the command line.
The code is a Visual Studio 2008 C++ project the leverages Zephod's
win32 kinect driver library downloaded off the OpenKinect site
(version 1.5).
If you have any questions, post here or shoot me an email.
Cheers,
-Gus Lott