Start with a drawing of a character seperated into pieces, and show it to a webcam. An application locates all the “image islands” in the picture using OpenCV and cvBlobLib:
The image is thresholded to make an alpha channel and the images are saved. A web server (written in clojure) picks them up automatically and sends them to a flash application (written in haxe) which builds a skeleton using prims algorithm for minimum spanning tree, a port from hapstar (you make a graph of all pieces connected to all others and use the MST of that).
This automagically created skeleton can then be animated to make puppet like characters directly from drawings on paper:
Here is a more complex abstract test: