Kinect to STL sketch for Processing
Description
I am not going to hold your hand through setting up Processing and this write up is In Progress, so if you get frustrated, realize that this might not be for you yet. Until I find a way to streamline posting a standalone application that works (currently it doesn't), this is still only for the persistent.
Until Microsoft publishes the code for their KinectFusion project, this is the best I could do to get a directly printable object without messing around in Blender or MeshLab. It's also my first serious coding effort, so forgive any inelegant code. Yes, the STL files are large (15mb) and the detail is hard for the CupCake to print, but it has the outreach potential for people new to 3D printers to create a unique, personalized object by just posing. Before you ask, the STL doesn't seem to take any less time in skeinforge if you use Blender to remove all duplicate vertices first, so I don't bother.
Instructions
I haven't yet exported the processing sketch into a more stand-alone version, so you'll have to deal with running the source code, but that means you can change it and improve it.
This sketch runs inside the Processing environment, which you can download here: processing.org/
Then you'll need the libraries my script is dependent on:
ToxicLibs: hg.postspectacular.com/toxiclibs/downloads/toxiclibs-complete-0020.zip
PeasyCam: mrfeinberg.com/peasycam/peasycam_101.zip
Freenect Library: github.com/diwi/dLibs/archives/dLibs
And also install the OpenKinect drivers to let your computer talk to your Kinect. You'll need to choose the right option for your operating system: openkinect.org/wiki/Main_Page
Once you have it all set up (yes I know it's a bit of a chore, sorry) run the sketch and use "r" and "f" to adjust the red (far) threshold and "g" and "b" to adjust the green (near) threshold. When you are happy, strike a pose and press "s" to output the STL. This can take a while, depending on your computer's speed, but shouldn't take longer than 5 minutes for the highest resolution setting on a netbook and should be way faster on almost anything else.
You must be logged in to post a comment.
hello
short question:
anytime i try to run the patch i get this message:
#_KINECT_WARNING_#
location: dLibs.freenect.KinectCore.setDepthBuffer(Unknown Source)
on device: 0
message: FAILED: set depth buffer
message: no device opened
#_KINECT_WARNING_#
location: dLibs.freenect.KinectCore
.startDepth(Unknown Source)
on device: 0
message: FAILED: start depth
message: no device opened
any thoughts on why this happens?
i have everything installed. and i use a mid2010 macbook pro with lion
thanks a lot!
Please can you contact me brcjackson at gmail dot com
Need some help with this.
kinectfusion runs the 3D scan data through a SLAM (simultaneous localisation and mapping) algorithm with some kalman filtering. The algorithms involved are well known and widely available, just need to be implemented with openkinect.
In the meantime, check out http://youtube.com/activevisio... for a group doing monoslam with only a single standard video camera. A thorough kinect SLAM algorithm could include the video data as well as the 3D map for even more precise scans as well as importing textures onto the 3D model :)
License

hello do i need the openkinect drivers if i am running processing for windows and dlibs also theres does'nt seem to be an openkinect driver for windows .what do i do?
kellyr
I was running this on windows7 starter, so there should be a driver for windows at the site I pointed to. I tried making a zip that contained all the files needed to install on another machine, but I couldn't get it working (didn't spend too much time on it though). To be honest, I'm not much of a programmer and the whole thing is quite a kludge. I really wish Microsoft would release the code for KinectFusion so we could all get models from that system.