Ardeco

Note: Ardeco Plugin is currently not compatible with Graphite 2.0-alpha4.

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.