Sunday, August 17, 2008

Inkscape. Vectorize for free and without too much pain

A great friend and coworker drew my south park caricature. It was a hand drawing so I scanned and get a dirty grey-scale image, not to nice. So to get something cleaner I realized that I will need to vectorize the image. To do so I was looking for some freeware and I found Inkscape. This open-source software is surprisingly great and the vectorizing tool is awesome for someone like me that was facing this problem for the first time. So in the following lines, I will briefly document how to vectorize a bitmap using Inkscape and the help of The Gimp.
Vectorizing process

  1. Open the image in The Gimp and select the piece of the image you want to vectorize. Using Ctrl+C and then Ctrl+Shift+V you will create new image and save it (jpg or png will work well).

  2. Open the Inkscape and Drag&Drop the the new image file into the main window of the Inkscape.

  3. Select the image and click on menu Path->Trace Bitmap. A pop-up dialog will appear.

  4. The Trace Bitmap dialog shows several methods to vectorize and a very useful Update button to see a preview of the vectorizing process result. Playing with the parameters for a while will show you all the possibilities.

  5. When you arrive to a nice result in the preview, you can press OK and the final result will be showed in the main window ready to be edited.

  6. Usually it's a great idea to select the vectorized result and apply a simplification because the number of knots used for the paths during the vectorization process makes editing the strokes almost impossible. To do so click on menu Path->Simplify. Be careful because this algorithm sometimes simplifies too much, but it's usually easy to solve this issues adding some points where the simplification was too aggressive.


  1. If you have big black shapes, probably the vectorizer will create several white gaps. Increase the Suppress Speckles parameter within the Options tab to remove them.

  2. Usually the Brightnees cutoff works pretty well, but when the edges of the shapes are well defined by colors use the Color Quantization