Image to SVG Cutout Script

I wrote a quickie script to take advantage of Ponoko’s free cardboard special last month and the test results have arrived!  I can’t wait until daylight to share the results so here are some photos!  Script source at the end…

Cute isn't she?

The Python script generates squares and circles for each pixel in a photo, I was targeting Ponoko‘s P2 size so planned for 64×64 pixel images at approximately 6mm per pixel.  The above shows an ‘inverted’ generation where the lighter colours generate a cutout, this is intended for light being projected through it onto a surface.  Was hoping to use the sun for best effect but just used a cheap Ikea lamp to take the above photo.

The normal generation is where darker colours generate a cutout, intended for placing the cutout on top of a coloured background.  In the photo below, the background is my table tennis table.

I barely unpacked the stuff from Ponoko before taking those photos so still need a bit of clean up (some ‘holes’ still have the cardboard attached) but overall I’m happy with the result!  In case anyone is wondering, the ‘square’ cutouts are much cheaper than the circular ones based on Ponoko pricing and achieve the same result.

The script source can be found at at the link below, feel free to share.

Script source : http://code.google.com/p/madox/source/browse/trunk/misc/im2svg.py

 

Edit : New picture using day (Sun) lighting

1 thought on “Image to SVG Cutout Script”

  1. Hi Madox, I saw your comment on HaD about this script. I’m interested in using it to generate paths for polargraph drawings. Check out my flickr pool for examples – http://www.flickr.com/photos/91789568@N00/

    Unfortunately I’m something of an ignoramus when it comes to running python scripts (though I’m learning along with my son on his raspberry pi). I’ve tried running the script using python 2.7 and 3.2, but it stops immediately due to not finding the modules that need to be imported. Where am I going wrong?

    Oh, and thanks for sharing!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.