Vectoriser une image avec Inkscape

parentpages:
Inkscape
documentation:
95%

Les images matricielles (.JPG, .PNG), sont souvent inadaptées aux techniques de fabrication numérique : découpe laser, découpe vinyle, broderie, traçage…

Vectoriser une telle image permet d'obtenir une image composée non plus de pixels mais de formes géométriques : segments, courbes, etc. Ceci permet, en plus d'adapter son fichier à la fabrication numérique, de modifier les formes qui constituent l'image (leurs couleurs, leurs tracés…), c'est bien plus facile que d'utiliser un logiciel de traitement d'image avancé comme Photoshop ! Enfin, si on veut utiliser une image dont la résolution est trop basse, la vectorisation permet d'obtenir une résolution supérieure sans effet pixelisé moche…

Source de l'image : https://unsplash.com/photos/kkJuQhp9Kw0

On va utiliser le logiciel open-source Inkscape pour vectoriser une image matricielle .JPG ou .PNG, et obtenir un fichier vectoriel .SVG.

On va comparer les différents modes et leurs applications (machines…).

Prérequis :

Ressources :

Matériel :

  • Un ordi avec Inkscape… Pas besoin de plugins particuliers

Fichiers :

Importer

Créer un nouveau fichier (même si vous voulez ensuite importer votre image dans un projet existant, c'est souvent mieux de faire la vectorisation à part), et sauvegardez-le directement, lui et tous les autres fichiers en cours d'édition (risques de plantage d'Inkscape).

Importer l'image matricielle en la faisant glisser dans la fenêtre ou en allant dans Fichier/Importer. Une fenêtre d'importation s'ouvre, choisir : Incorporer ; Déduire du fichier ; Aucun. Cliquer sur Ok, l'image apparait dans le document.

Fenêtre de vectorisation

Sélectionner l'image, faire un clic-droit dessus, “Vectoriser un objet matriciel”. Une fenêtre, ou un onglet à droite. Celle-ci contient elle-même plusieurs onglets (en haut à gauche) :

  • Vectoriser un objet matriciel : c'est le menu principal de vectorisation, avec différents modes répartis en deux catégories :
    • Une seule passe : tous ces modes vont générer un seul chemin, avec donc une seule couleur, souvent noir
    • Plusieurs passes : ces modes génèrent autant de chemins qu'on le règle, utile notamment pour obtenir une image vectorielle multicolore
  • Pixel art : mode spécial pour vectoriser une image de pixel art (par exemple, des vieux graphiques de Gameboy)
  • Aide : quelques détails sur les modes et conseils généraux, en anglais

On va détailler dans la section suivante ces différents modes et leurs réglages… On peut revenir aux réglages par défaut avec le bouton Rétablir

La fenêtre contient également un aperçu du résultat, sur la droite, il faut cliquer sur Mettre à jour pour générer un nouvel aperçu après avoir modifié les réglages. Ça n'a pas l'air de fonctionner pour tous les modes, il vaut parfois mieux générer directement le résultat en cliquant sur Appliquer (en bas à droite), et le supprimer pour en créer un nouveau si on veut modifier les réglages…

Vectoriser : une seule passe

Les modes une seule passe génèrent un seul chemin, en général avec juste un remplissage ou un contour noir.

Seuil de luminosité

Pour chaque pixel de l'image, on regarde si la luminosité (niveau de gris) est supérieure ou inférieure à la valeur choisie, ce qui donne une image intermédiaire (qu'on ne voit pas) en noir et blanc (sans gris). La vectorisation est ensuite faite à partir de cette image, et on obtient un chemin rempli en noir, avec un contour nul. Plus on augmente le seuil de luminosité, plus les pixels seront considérés comme noirs au lieu de blancs, et plus l'image aura de zones de remplissage noires.

Détection de Contour

Détecte les contours dans l'image, ou les lignes de contraste, à l'aide d'un algorithme. Attention, le chemin généré n'est pas réellement un contour au sens vectoriel du terme, mais possède en réalité un remplissage noir et un contour nul. Donc, si on ajoute un contour, on va en fait avoir une espèce de double trait… On verra plus loin la différence avec le mode autotrace.

Quantification des couleurs

Ce mode est difficile à comprendre sans avoir lu la suite. La quantification des couleurs vise à réduire le nombre de couleurs de l'image à une palette restreinte de dominantes de couleurs.

Une fois la première image intermédiaire créée par quantification de couleurs, de mode va chercher les limites de changement de couleur, et créer une vectorisation à partir de ces changements de couleurs, en alternant du noir au blanc. Le choix du blanc ou du noir est ici arbitraire, on peut donc inverser l'image pour obtenir le “négatif” du résultat non-inversé.

Autotrace
L'algorithme derrière ce mode n'est pas réellement expliqué. Cependant, il donne de bons résultats pour vectoriser des dessins constitués de traits (croquis, tracés au stylo…). Il va générer un seul chemin, mais attention pour les vectorisations de contours, quand on sépare le chemin généré, on se rend compte que ce mode génère en fait une sorte de double chemin : un contour interne + externe. On va le plus souvent en supprimer un des deux…

Note : l'aperçu ne semble pas fonctionner avec ce mode, et les réglages (itérations, seuil) ne font pas grand chose : on voit que les chemins générés n'ont pas le même nombre de nœuds mais le résultat est similaire.

Traçage Centerline (autotrace)

Même chose qu'Autotrace, mais génère juste un trait au centre de la ligne détectée.

Vectoriser : plusieurs passes

Les modes suivants séparent l'image en plusieurs images, les vectorise selon le mode choisi, et crée donc un chemin par passe.

Chacun de ces modes va générer plusieurs chemins, la case “empilement” sert à définir si on veut que ces zones de remplissages s'ajoutent les unes par dessus les autres (le résultat sera plus joli mais pas forcément exploitable en fabrication numérique), ou bien une par une sans se chevaucher (il y aura souvent des petits défauts aux frontières entre les zones).

Niveaux de luminosité

Similaire au mode “Seuil de luminosité”, sauf que cette fois l'image va être découpée en plusieurs images intermédiaires, une par niveau de luminosité (donc si on coupe en 8, c'est comme si on faisait 8 fois le mode seuil, avec les seuils : 0.125, 0.25, 0.375, etc.).

Comparaison des modes avec et sans empilement, quand on espace les 8 chemins :

Couleurs

La quantification des couleurs à proprement parler ! L'algorithme va d'abord extraire des dominantes de couleur, un nombre fini de couleurs qui représentent au mieux la répartition des couleurs de l'image (sur une image de frites, la première couleur dominante sera sans doute du jaune…). Plus on augmente ce nombre de couleurs, plus on aura de teintes intermédiaires, plus on se rapprochera de l'image réelle avec toutes ces couleurs (mais plus on augmente la complexité, le temps de traitement, etc.). Voir : https://fr.abcdef.wiki/wiki/Color_quantization

On va obtenir autant de chemins que de couleurs, chacun avec un remplissage correspondant, et un contour nul.

Différents nombres de passes :

5 couleurs, sans empilement :

Niveaux de gris

Ce mode ressemble au mode niveaux de luminosité, mais en réalité il fonctionne plutôt comme le mode quantification des couleurs, simplement, l'image intermédiaire est convertie en niveaux de gris avant d'extraire les dominantes de couleurs.

Autotrace (plus lent)

Pixel art

Mode spécial pour convertir les images pixel art (graphiques style gameboy color…). Ne pas l'utiliser sur une image “normale”, avec beaucoup de pixels, le temps de traitement serait beaucoup trop long et le résultat peu adapté.

C'est un mode multicolore…

Voronoi
B-splines

Ce mode crée des zones constituées de carrés contigus…

C'est très long à générer mais ça marche, ça ne plante pas…

On visualise souvent parfaitement le résultat qu'on pense obtenir, pour au final galérer parce que le logiciel ne détecte pas les bons seuils (surtout quand on fait plusieurs passes).

Si on obtient beaucoup d'artefacts, des chemins compliqués alors qu'il n'y a pas lieu, des mauvaises couleurs… il peut être intéressant de pré-traiter l'image, c'est-à-dire de la modifier avant de la vectoriser.

Dans l'exemple ci-dessous, la première rangée est l'image d'origine. Bien qu'elle semble assez simple, les jeux de lumière sur les aplats de couleurs font apparaître des reliefs qui sont mal interprétés par Inkscape, notamment entre les deux tons un peu turquoise…

On peut essayer dans un premier temps de flouter l'image, bien que l'option “adoucir” le fasse déjà, afin de lisser les petits défauts de surface (deuxième rangée). On peut utiliser un logiciel de traitement d'image, comme Gimp, ou bien un outil en ligne. Ça n'est pas tout à fait satisfaisant, alors on peut pousser un peu et utiliser les deux outils Pipette de couleur et Seau de remplissage (avec un seuil assez haut, environ 25) pour sélectionner les couleurs dominantes de l'image et remplir les zones correspondantes. Le résultat est beaucoup plus lisse, et les couleurs plus fidèles (troisième rangée).

Post-traitement

On aura parfois des artefacts dans le résultat numérisé, il va alors falloir nettoyer l'image vectorielle.

Une des solutions les plus simples est de Simplifier le chemin (menu chemin, ou Ctrl+L).

Mais souvent on devra plutôt le faire à la main en éditant les nœuds du chemin…

Exemple dans ce tuto : Découper au laser à partir d'un dessin à la main

On va détailler les contraintes liées à chaque technique de fabrication, et en déduire les modes de vectorisation les plus adaptés…

Découpeuse laser

Découpeuse laser

Avec la découpeuse laser, on peut effectuer différents types d'opérations : gravure, marquage ou découpe (voir la page de la machine pour plus d'infos). Ces opérations n'ont pas les mêmes contraintes en termes de vectorisation.

Gravure

En réalité, on n'a même pas besoin de vectoriser pour faire de la gravure, le logiciel de la machine accepte les images matricielles. Il faut cependant convertir celles-ci en niveau de gris. On peut toujours utiliser une des techniques de vectorisation qui donne un résultat en niveaux de gris si on veut simplifier l'image ou la modifier (luminosité, contours, niveaux de gris).

Attention, dans le cas de certaines réalisation, comme la fabrication de tampons ou de pinces à embosser, l'image doit être uniquement en noir et blanc, et non en niveaux de gris avec tous les tons entre les deux. On peut soit appliquer un seuil de luminosité binaire sur l'image (avec un logiciel de traitement d'image comme Gimp ou avec le premier mode de vectorisation d'Inkscape), soit utiliser une technique de tramage.

Marquage et découpe

Le marquage et la découpe s'effectuent uniquement à partir de chemins, il faudra donc absolument vectoriser. Dans la plupart des cas, le mode autotrace sera le plus approprié. Attention à bien post-traiter le résultat (séparer les chemins, supprimer les doublons, simplifier…).

Dans le cas particulier du marquage, on ne cherche pas toujours à reproduire des contours, juste en général à gagner du temps par rapport à la gravure. On peut alors utiliser une vectorisation à plusieurs passes et hachurer les zones, comme expliqué dans ce tuto du carrefour numérique : https://cyberweb.cite-sciences.fr/wiki/doku.php?id=trucs_astuces:inkscape_les_effets_de_chemin_croquis_et_hachures_pour_gravure_laser

Brodeuse

Brodeuse numérique

Image multicolore : plusieurs passes - couleurs. Attention, le logiciel de broderie PE-Design n'aime pas trop les zones qui se chevauchent complètement, comme c'est le cas avec l'option “empilement”. Il faudra alors décocher cette option, ou bien post-traiter la pièce, soit chemin par chemin avec des opérations de soustraction, soit avec un plugin (pas testé encore mais il semble que PathOPs fasse exactement ça : https://gitlab.com/moini_ink/inx-pathops). Attention au nombre de passes, plus on aura de couleurs, plus il faudra changer de fil sur la machine…

Lettrage monochrome : le tuto listé en haut de cette page conseille un mode niveaux de gris à 2 passes, mais on peut très bien s'en sortir avec une seule passe en mode seuil de luminosité ou autotrace.

Trait simple (pour surpiqûre en pointillés par exemple) : une seule passe, autotrace, séparer et supprimer les chemins en double le cas échant…

Découpe vinyle

Plotter de decoupe vinyle

Même conseils que pour la découpe ou le marquage laser (autotrace, retirer les doublons…).

Traceur de dessin

Traceur de dessin

Tout dépend de ce qu'on veut tracer…

Des traits simples → autotrace

Des zones de remplissage → selon le cas, mode couleurs ou seuil de luminosité, on pourra ensuite se référer à la doc de la machine pour utiliser des techniques de remplissage rapides qui ne font pas de pâtés (avec des hachures par exemple…). Attention au nombre de passes, la machine n'a que 8 couleurs max !

3D (impression 3D, fraisage...)

Fraiseuse Bois ; Imprimante 3D Cosmyx Nova

Vu qu'on peut importer un fichier SVG dans FreeCAD ou tout autre logiciel de modélisation, on peut utiliser une vetorisation pour créer une poche, ou une extrusion dans un solide en 3D (logo de marque, etc.). Mode autotrace…

  • fab/tutoriels/vectoriser_une_image_avec_inkscape.txt
  • Dernière modification: 2022/11/28 17:23
  • de ApprentiLab CNAM