Transformer une image matricielle en image vectorielle avec Inkscape

Dans ce tutoriel, nous allons apprendre à transformer une image matricielle dans Inkscape en image vectorielle. L’intérêt est qu’elle peut ainsi être plus facilement modifiable, par exemple. Les images dites « matricielles » sont des images dont l’unité de base est le pixel, un petit rectangle ou un carré. Les formats d’images matricielles les plus courants sont le PNG, le JPEG (.jpg) et le WEBP. Il y en a d’autres, le format TIFF par exemple. La définition en pixels fait que, quand on les agrandit ou on les rapetisse, les pixels changent de taille et l’image perd de sa qualité.

Les images vectorielles sont des images au format SVG, qui est un format basé sur le langage de balisage XML, un langage de la même famille que le HTML. Une image vectorielle est, grosso modo, une succession de points dont les coordonnées sont enregistrées avec leurs attributs (couleurs, relations, etc.). Cela fait qu’elles peuvent être agrandies ou rétrécies sans distorsion.

Schéma comparatif entre image matricielle et image vectorielle

Comprendre la vectorisation

La vectorisation est la conversion d'une image matricielle (une grille de pixels) en mathématiques (en vecteurs). Cela peut paraître anodin, mais pour une machine, une image au format vectoriel est un chemin à suivre plus clair et compréhensible qu'une grille de petits carrés. Dans un contexte classique au Fablab, où l'on souhaite partir d'un croquis, d'un dessin, d'une image matricielle, etc., notre objectif est d'obtenir le contour d'un dessin pour pouvoir le découper.

Quand utiliser la vectorisation ?

Il est fort à parier qu'un objet vectoriel est lui-même constitué de plusieurs sous-formes vectorielles. Il va donc nous falloir dégrouper ces formes. Dans certains cas, cela nous a permis d'isoler la forme du fond qui fait un parfait contour. À partir de cette même image, on pourrait aussi avoir envie de garder les formes internes pour faire de la gravure (dans le cas de la découpe laser). On peut donc laisser notre forme globale (celle qui définit le contour de découpe) superposée aux autres éléments.

Sur la découpeuse laser, on peut lancer un travail de gravure à partir d'une image matricielle. En revanche, pour tout ce qui est découpe ou marquage, il nous faut absolument des tracés vectoriels.

Méthodes de vectorisation dans Inkscape

Inkscape propose plusieurs algorithmes de vectorisation à partir d'une image matricielle (par exemple, un fichier PNG trouvé sur internet), dont nous pouvons modifier les réglages.

Vectorisation par seuil de luminosité

La vectorisation par seuil de luminosité consiste à transformer en plein (noir) ce qui est au-dessus du seuil, et en vide ce qui est en dessous. Il faut faire varier ce seuil jusqu'à obtenir un résultat qui convient.

Étapes pour la vectorisation par seuil de luminosité :

  1. Sélectionner l'image à vectoriser.
  2. Aller dans le menu Chemin, puis choisir Vectoriser un objet matriciel....
  3. Une fenêtre apparaît. Cocher Aperçu en direct ou cliquer sur Mettre à jour pour voir un aperçu du résultat de la vectorisation.
  4. Faire varier le seuil de luminosité. Si le seuil est trop bas, on ne voit pas assez l'image ; s'il est trop haut, on commence à apercevoir des traces un peu partout.
  5. Quand le résultat est satisfaisant, cliquer sur Valider et fermer la fenêtre de vectorisation.
Fenêtre de vectorisation dans Inkscape avec aperçu en direct

On se retrouve avec le tracé vectorisé de notre image, et l'image matricielle originale en dessous. Des « formes étranges » peuvent apparaître ; ce n'est que le tracé qui tente de s'adapter à la nouvelle forme qu'on lui donne.

Pour alléger une image ainsi vectorisée ou la retravailler plus tard, il peut être utile de la simplifier. On peut le faire manuellement, bien que le résultat puisse déformer l'image. Il est également possible de simplifier plus finement en allant sur l’icône de chemin dans la barre d’outils et en choisissant l’outil Simplifier. On a alors accès à différents réglages.

Vectorisation par niveaux de luminosité et passes multiples

Dans le volet qui s'ouvre lorsqu'on lance l'opération de vectorisation, on peut choisir les niveaux de luminosité et plusieurs passes. Le résultat se superpose à notre image. En demandant une vectorisation en 8 passes, le résultat est la superposition de 8 objets correspondant à 8 niveaux de luminosité de l'image originale, identifiés par l'algorithme.

Pour voir chacun de ces 8 objets séparément, il faut dégrouper le résultat de la vectorisation.

Comme vu précédemment, on peut aussi ajouter de la gravure (dans le cas de la découpe laser). On choisit une des couches qui nous plaît et on la superpose au contour.

Il se trouve qu'on a eu de la chance sur certains dessins, car le contour était identique à l'une des formes résultant de la vectorisation. Mais ce n'est pas toujours le cas.

Voyons avec un dessin différent. La dernière couche semble bien pouvoir nous fournir un contour fermé intéressant, mais on souhaiterait se débarrasser de toutes les formes internes. On passe le contour de cette dernière forme en rouge pour bien visualiser tous les éléments, puis on va dans Chemin > Séparer. On peut alors sélectionner le contour externe et le glisser plus loin dans la page. C'est parfait, on a bien notre contour.

Vectorisation par détection des niveaux de couleurs

Un autre algorithme de vectorisation consiste à détecter les niveaux de couleurs et non les niveaux de luminosité. Souvent, cela revient à peu près à la même chose qu'en détectant la luminosité pour l'objectif recherché (détection de contour).

En faisant dégrouper, on peut séparer les objets exactement comme on l'a fait précédemment avec les niveaux de luminosité. L'un des objets convient à ce que l'on cherche. On passe les contours en rouge et supprime le fond pour mieux s'y retrouver, puis on va dans Chemin > Séparer.

Exemple de vectorisation par détection de couleurs dans Inkscape

Gestion des formes pleines et des contours

Prenons une image qui semble simple. On peut bien sûr retirer les points qui ne nous intéressent pas. Bien que le tracé ait l'air d'une ligne, il s'agit en fait d'une forme pleine dont le fond est noir, et non une ligne noire sans fond.

Pour éviter cela, on va dupliquer notre forme vectorielle puis faire Séparer les chemins : on peut ensuite sélectionner la forme correspondant au contour externe, supprimer le fond et mettre le contour en rouge.

Cas d'usage spécifiques : découpe laser et marquage

Nous n'avons abordé que quelques exemples avec toujours l'objectif de tracer le contour extérieur. Pour ce qui est d'un usage avec la découpe laser, on a ajouté de la gravure sous forme d'objets vectoriels - des « aplats » avec un contour fermé (invisible) et un fond en nuances de gris.

Mais on ne pourrait pas faire du marquage de la même façon : tous les contours de nos aplats vectoriels gris seraient alors marqués, ce qui ne serait pas très esthétique. Si l'on veut créer des tracés sans épaisseur à l'intérieur de nos formes, il va falloir les tracer en partant de zéro avec l'outil de courbes de Bézier.

Tous les tracés qui doivent être découpés ou marqués (ci-dessous en bleu et en rouge) ont été créés à partir de l'outil courbe de Béziers (et l'outil plume pour les parties qui sont à graver, en noir). L'épaisseur des tracés n'est ici due qu'au réglage de l'épaisseur dans le menu "Fond et Contour".

Exemple de tracés vectoriels pour découpe et gravure

Sauvegarde et exportation

Pour sauvegarder son travail pour la découpe, il suffit d'aller dans Fichier > Enregistrer sous.... Il faut bien sélectionner le format .svg, choisir un nom pour sa création et se souvenir de son emplacement.

Si vous voulez une version matricielle de votre travail (une image en pixels), il faut l'exporter. Pour cela, allez dans Fichier > Exporter au format PNG. Cela ouvre la fenêtre d'exportation où vous pouvez choisir différents paramètres : zone à exporter, taille de l'image, nom du fichier et son emplacement.

Inkscape Tutorial - Export Multiple Objects In Multiple Formats (SVG, PNG, etc)

tags: #inkscape #vectoriser #carte

Articles populaires: