Manipuler des images vectorielles avec Gimp

Le vectoriel est un format intéressant à manipuler car il offre un poids très faible pour une définition illimité. Dans cet article nous allons nous attarder sur le principe de ces images un peu particulière et voir comment il est possible de les manipuler avec Gimp.

L’image Matricielle

Pour parler de l’image vectoriel, il faut commencer par revenir sur l’image traditionnelle : l’image matricielle (ou bitmap). Je dis traditionnelle car c’est le type de fichier qui est le plus manipulé. JPG, PNG, GIF, TIFF, RAW,… sont tous des formats d’image matricielle.

On parle d’image matricielle car les pixels qui la composent forment une matrice : un alignement de pixels en lignes et en colonnes.

Prenons l’exemple d’une image très simple : une image de 15×10 pixels blanche sur laquelle est tracée une diagonale noire. Nous avons alors 15 colonnes de 10 pixels (ou 10 lignes de 15 pixels) soit 150 pixels au total.

image 10x15 diagonale

Une image de 10×15 pixels

Dans le fichier de l’image, on retrouve tous les pixels enregistrés un par un. Schématiquement, ça donne ceci :

  • ligne 1, colonne 1 : noir
  • ligne 1, colonne 2 : blanc
  • ligne 1 ; colonne 3 : blanc
  • ligne 10, colonne 14 : blanc
  • ligne 10, colonne 15 : noir

Dans notre cas, il faut donc enregistrer 150 informations (autant que de pixels dans l’image).

L’explication que je donne ici pour le stockage des données d’une image bitmap est valable pour les formats d’image non compressés (le BMP ou TIFF par exemple). Pour les formats compressé (JPG, PNG,…), le principe est le même mais les données ne sont pas enregistrées par pixels mais par bloc de pixels. Voir l’article Wikipédia sur la compression JPEG pour plus d’infos.

Le cas du vectoriel

En vectoriel, il ne s’agit pas de former une image à partir d’une matrice de pixel mais d’une série de courbes qui relient des points : des vecteurs. C’est à dire que les informations de couleurs des pixels ne sont plus stockées selon leurs positions mais selon les formes qu’ils composent.

Quand on parle de vecteur d’une image, il ne faut pas confondre avec le vecteur au sens mathématique. Il s’agit ici d’un nuage de coordonnées qui définissent des courbes entre des points.

Si on reprend l’exemple précédent, il y a très peu d’informations à sauvegarder :

  • Couleur du fond : blanc
  • Droite : Couleur noir / point de départ : ligne 1 Colonne 1 / point d’arrivée : ligne 10, colonne 15

Il est donc tout à fait possible de reconstituer complètement l’image avec une dizaine d’information (contre 150 pour l’équivalent matriciel).

Cet exemple met en évidence les deux propriétés fondamentales de l’image vectorielle :

  • La quantité d’information à stocker est très faible. Ça veut dire que le fichier vectoriel est beaucoup moins lourd que son équivalent matriciel (à un détail près mais nous y reviendrons plus bas).
  • Il n’est pas question de dimensions dans l’image vectoriel. L’information qui décrit la diagonale noire ne détaille pas de combien de pixels elle se compose. Avec une image deux fois plus grande, la structure de l’information est exactement la même.

L’absence de dimension pré-définie dans l’image vectoriel est une caractéristique fondamentale. La conséquence est qu’une image vectorielle peut être agrandie autant de fois que nécessaire.

agrandissement-vectoriel-matriciel

L’image précédente agrandie 10 fois

L’enregistrement des données est présenté ici de façon très simplifiée afin de comprendre le principe. En réalité, c’est un peu plus complexe que ça.

Les limites

Si on résume ce que je vous ai montré précédemment, l’image vectorielle ne limite pas la dimension des images et a un poids très faible. Ça signifie qu’il est possible d’imprimer une image de quelques kilo octets en poster géant. Mais alors qu’est ce qu’on attend pour convertir toutes nos photos en vectorielle ? Et bien parce le format même du vectoriel l’en empêche…

La démonstration que je vous ai fait plus haut fonctionne car l’image est extrêmement simple. Quand l’image se complexifie, le vectoriel n’est plus adapté. Impossible pour le vectoriel de gérer les dégradé complexes, les nuances de couleurs, les contours flous,… Et malheureusement, les photos contiennent pleins de ces petits détails…

Donc quand j’écris plus haut « le vectoriel est plus léger que son équivalent matriciel », c’est pas tout à fait vrai. En fait les deux ne sont pas vraiment comparables car il ne sont vraiment pas prévu pour les mêmes applications. S’il est possible de convertir une image vectoriel en matricielle, l’inverse est beaucoup plus complexe. La création d’une image vectoriel est possible sous réserve de perdre des données : Il faut simplifier l’image pour la convertir en vecteurs.

Dans les faits, le vectoriel est particulièrement adapté pour l’illustration (logos, formes simples,…) ou la cartographie. Il n’y a en fait pas d’application directe à la photographie.

Le cas de Gimp

Pour être très clair : Gimp n’est pas un logiciel dédié au vectoriel. Il a été conçu pour le traitement d’image bitmap. Mais les développeurs ont quand même pensé au vectoriel en ajoutant quelques fonctionnalités intéressantes.

Il existe des logiciels complètement dédié à la manipulation d’image vectoriel. Adobe Illustrator ou CorelDraw sont très répandu. Dans le monde des logiciels libres, il existe l’excellent Inkscape.

Malgré tout, nous avons déjà vu dans un article précédant qu’il existait dans Gimp un outil magique permettant de tracer des formes à partir de points de contrôle : Le chemin. Et si vous avez bien compris le principe du vecteur, vous avez compris que les deux sont très proches.

Ouvrir un vectoriel avec Gimp

Pour être tout à fait exact, Gimp ne sait pas exploiter un fichier vectoriel: il passe par une phase de conversion en matriciel. Par contre, il est possible d’utiliser un vecteur sous forme de chemin.

Pour ouvrir un fichier vectoriel avec Gimp, il faut passer par le menu classique : Fichier > Ouvrir. Une fois le fichier sélectionné, Gimp ouvre une fenêtre d’option qui permet de choisir la taille de l’image.

import-vectoriel-gimp

Les options d’importation d’un vecteur

Choisissez alors la taille de l’image que vous souhaitez. Cochez l’option « importer les chemins » et validez. Gimp va alors créer deux éléments :

  • des calques avec les dessins issus du vectoriel (rendu similaire a ce qu’on peut obtenir en utilisant l’outil « tracer le chemin »),
  • les vecteurs sous forme de chemin (visible dans l’onglet chemin).

Vous avez alors tous les éléments pour travailler:

  • soit vous utiliser directement le dessin en travaillant sur les calques (dans ce cas, il s’agit bien d’une version bitmap du vectoriel),
  • soit vous exploitez les chemins pour les déformer ou les compléter.

Gimp utilise le format vectoriel SVG. Il en existe d’autre (Illustrator, Postscript, PDF, Flash,…) mais le SVG est un format ouvert très répandu.

Enregistrer un vectoriel avec Gimp

Il n’est pas possible d’enregistrer directement une image en vectoriel avec Gimp. Comme je le disais plus haut, les formats ne sont pas construit de la même façon. Par contre, il est possible d’exporter un chemin en tant qu’image vectorielle.

Dans la fenêtre des chemins, faites un clic droit sur un chemin et choisissez « Exporter le chemin ». Gimp ouvre alors une fenêtre qui vous permet d’enregistrer au format SVG.

export-vectoriel-gimp

Un clic droit pour exporter en vectoriel

Application

L’image vectorielle est un outil intéressant mais ses principes de fonctionnement ne permettent pas d’application directe à la photo. Nous l’avons vu, le vectoriel n’est pas vraiment adapté. Mais il peut être utiliser en complément d’autres techniques.

Ce n’est pas une fin en soit mais un outil. De la même façon qu’un chemin, vous pouvez utiliser le vectoriel pour faire des tracés et manipuler des formes complexes.

Le fait que le SVG soit un format très répandu est également un avantage. Vous pouvez récupérer des logos et des formes diverses dans des bibliothèques d’image pour les utiliser sur vos photos.

Vous pouvez également profiter de sa compatibilité pour passer des fichiers d’un logiciel à l’autre. Utilisez logiciel de dessin vectoriel pour créer des formes complexes puis transférez-les dans Gimp pour la retouche photo.

Conclusion

Le vectoriel est une façon complètement différente de manipuler des images. Si le format ne s’applique pas directement à la photo, il offre un élément de plus dans votre boite à outils de retoucheur.

Gimp n’est clairement pas le meilleur des logiciels pour utiliser les images vectorielles. Cependant, il offre le minimum de fonctionnalités pour manipuler de telles images.

  • Bonjour,

    Je ne vois pas trop l’intérêt de tenter de faire du vectoriel dans Gimp, d’autant qu’Inkscape permet d’importer des bitmaps.
    À quelles utilisations penses-tu ?

    Merci pour tes éclaircissement.

  • ID

    En fait on peut produire des images vectorielles avec une qualité « photo », mais elles pèseront beaucoup plus lourds que des bitmaps.
    Cela dit, effectivement on ne peut pas retoucher une photo avec un logiciel de dessin vectoriel (enfin si quand même un peu mais ce n’est pas fait pour ça).
    Merci pour ce tutoriel.
    Personnellement je fonctionne dans l’autre sens : j’utilise Gimp d’abord et puis je passe à Inkscape ensuite (mais mes besoins sont assez basiques en fait).

  • alain

    bonjour Antoine , merci pour s’explication trés compliquer et claire merci alain