🥛 Milk Scanner

A 3D scanner using a tray of milk. I can’t find the link right now but it wasn’t the first, and I can’t remember if it was an independent invention or not.

The setup looks like this:

3D scanner

Ingredients

Method

So you pop your item in the dish, point the camera at it, and record a video of it gradually submerging into the milk:

⏯ screenshot

Take the output and run it through an edge detection filter, then this program [TODO: find code and link it here]

This looks at each pixel and records when it turned white. The longer it takes, the closer to the surface it is. Divide by the total time, and you have a depth map that can be used to reconstruct the surface.

Join with the diffuse channel, you’ve got a texture map with depth, that can be converted into a normal map or tessellated into a mesh:

output alpha channel

Notes

SFM techniques made this approach worthless, but it’s still pretty cool. I did try a different approach using a laser but never finished that, similar way to how book scanners flatten pages.

Here’s a link to another one that someone made 7 years later.