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.exeis located (normallyGraphiteTwo\bin) - move ardeco.gel to the directory where
graphite.gelis located (normallyGraphiteTwo\lib)
- move ardeco.dll to the directory where
- Configure Graphite
- run Graphite
- Menu File->Preferences

Modulestab- enter
ardeco(in the zone right to theAdd...button (1) ) - press the
Add...button (nowardecoshould appear in the list) - press the
Save configuration filebutton (2)
- enter

GELtab- press the browse icon (3). This opens a file selection dialog
- select the
ardeco.gelfile where you installed it (inGraphiteTwo\lib) - press the
Add...button (nowardeco.gelshould appear in the list) - press the
Save configuration filebutton
- 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
- If the 2D window is not visible, select

- 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 segmentationto 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
approxin the object list, thenArdeco->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 ardecodialog, and selectdegree = 1in theSegmentationpane. - Select
approxin 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 asvalue, and paint the eyes and mouth (we need even more segments there).

- Re-launch
Ardeco->Segmentation->Segment imagethenArdeco->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 importanceto manually fix. - Degree 2 gradients are supported but cannot be exported properly in SVG.