Ardeco

Vectorization with Ardeco

In this tutorial, you will learn how to use our Ardeco method, presented at the Eurographics Symposium on Rendering in 2006.

1) Installing the plugin

This is a user's tutorial, programmers who use sources should see ProgArdeco first.

  • Download the plugin: ardeco-xxx-bin-windows from Inria GForge
  • Unpack the file
    • move ardeco.dll to the directory where graphite.exe is located (normally GraphiteTwo\bin)
    • move ardeco.gel to the directory where graphite.gel is located (normally GraphiteTwo\lib)
  • Configure Graphite
    • run Graphite
    • Menu File->Preferences
  • Modules tab
    • enter ardeco (in the zone right to the Add... button (1) )
    • press the Add... button (now ardeco should appear in the list)
    • press the Save configuration file button (2)
  • GEL tab
    • press the browse icon (3). This opens a file selection dialog
    • select the ardeco.gel file where you installed it (in GraphiteTwo\lib)
    • press the Add... button (now ardeco.gel should appear in the list)
    • press the Save configuration file button
  • quit and restart Graphite

This will take the changes into account. Now if you select the menu Window->show 2d editor, you should see a graphite window with an ardeco menu. You are now ready to use ARDECO.

2) Basics

  • Let's start with an image (for instance, this one, by "Tamara de Lempicka"). Right-click on the image and save it on your computer.
    • If the 2D window is not visible, select Window->show 2D editor
    • Load the image: Ardeco->load image
  • Start the segmentation: Ardeco->Segmentation->segment image
    • When you think there are enough vector primitives (yellow lines), push the stop button (4)
  • You will see a first rough vectorization. Select Ardeco->Segmentation->smooth segmentation to improve it.
  • To see the final result, click on selected only (5), this will hide all the intermediary objects generated by Graphite.
  • If you are not satisfied with the result, select approx in the object list, then Ardeco->Segmentation->resume segmentation,

and push the stop button when you think thare are enough vector primitives.

  • You can now save the result Ardeco->Import/Export->save vector image, as a SVG (Scalable Vector Graphics) file. You can use

Inkscape to manipulate/edit/convert SVG files (see image).

3) Advanced: gradients

The previous example uses flat colors. You can obtain a warmer atmosphere by using gradients. We start from the result obtained at the previous step.

  • Open the Ardeco->configure ardeco dialog, and select degree = 1 in the Segmentation pane.
  • Select approx in the object list.
  • Ardeco->Segmentation->resume segmentation
  • Press the stop button after a couple of seconds
  • Ardeco->Segmentation->smooth segmentation
  • Save the result as a SVG file using Ardeco->Import/Export->save vector image

4) Advanced: painting importance

  • Let us start with another image, this one (still by Tamara de Lempicka):
  • Open dialog Ardeco-> configure Ardeco , choose linear gradients (degree = 1) and limit number of segments to 200.
  • Here is the result. Since contrast is low in the face, the algorithm does not generate many segments there, though this is a perceptually important zone. We need to specify that.
  • Select Ardeco->Image->Paint importance, then paint the entire face. Double click on the tool icon indicated in the image, enter 30 as value , and paint the eyes and mouth (we need even more segments there).
  • Re-launch Ardeco->Segmentation->Segment image then Ardeco->Segmentation->Smooth segmentation. You can finally save the result as an SVG file (Ardeco->Import/Export->Save vector image).

Known limitations, bugs

  • On the one hand, Ardeco generates nice gradients, on the other hand, traced boundaries are not as precise as with potrace or classical line vectorization tools.
  • It is difficult to control the result, the algorithm may generate too many small regions in certain zones, and not enough in other ones. Use paint importance to manually fix.
  • Degree 2 gradients are supported but cannot be exported properly in SVG.