Milkscanner – 3D scanning with LEGO and milk


Friedrich Kirschner’s Milkscanner is a clever method for scanning 3D objects using only a webcam, some milk, and a camera rig made out of LEGO.

The basic idea is this: you place an object in a container, incrementally fill the container with milk, and take a photo after each tiny fill increment. The Milkscanner software mattes out the white part of the images, resulting in a silhouette “slice” of the object for each increment in the Z dimension. Each slice gives you information about the outer perimeter of the object at that depth (assuming the object is convex).

Milkscanner is able to output a depthmap from this information which you can use in Blender or MovieSandbox, an open source machinima filmmaking tool. Friedrich has been using the latter to produce some pretty fantastic work. Instead of small objects, however, he was able to scan a human using a bathtub which was filled with ink-tinted water.

The original version is written in C# and requires a Windows PC with the latest DirectX. If I read things correctly, there is a new version that will be released soon which is written using a cross platform drawing and image capture API. Hopefully this means that the new release will be available for Linux and OS X. Fingers crossed – this looks like fun.

Milkscanner binary and source downloads (distributed with MovieSandbox)

Discuss this article with the rest of the community on our Discord server!