Les motivations pour convertir une photographie en dessin vectoriel peuvent être esthétiques (simplification de l'image, lissage des lignes, ...) ou pratiques (possibilité d'agrandir l'image sans voir apparaître de pixels, légèreté des fichiers, ...).
Cette page présente une méthode pour ce faire, parmi d'autres possibles, en s'attachant à la simplicité des opérations à accomplir et en recourant à des outils logiciels libres et gratuits. Si la démonstration qui suit est effectuée sous GNU/Linux (Ubuntu "Trusty Tahr" avec MATE comme bureau), les deux outils utilisés sont disponibles pour d'autres systèmes d'exploitation (Qwant est votre ami!). Il s'agit de :
Cette page s'intéresse à la conversion d'une photographie mais toute autre composition graphique peut être soumise à la même démarche, comme un dessin numérisé, par exemple, du moment qu'elle est initialement disponible sous la forme d'un fichier "bitmap".
S'agissant d'aboutir à un dessin vectorisé, c'est-à-dire probablement avec l'intention de "styliser" la photo, et compte tenu de l'aptitude des dessins vectoriels à être agrandis à volonté sans perte de qualité, il est inutile de partir d'une photographie de trop grande définition. Ceci alourdirait les traitements sans aucun avantage. Il suffit que les détails importants soient clairement visibles. Par ailleurs, toutes les images ne sont pas adaptées au traitement décrit ; il faut que le sujet (ou bien l'effet recherché) soit bien mis en évidence, notamment avec un contraste satisfaisant, et ne présente pas une granularité trop petite.
L'image prise comme point de départ ici est un extrait d'une photographie diffusée gratuitement pour une utilisation personnelle non commerciale par Sellig Zed, avec l'autorisation de son auteur (site du photographe).
L'extrait utilisé est un carré de définition 900x900 pixels, disponible initialement au format JPEG avec 85% de compression :
fichier poissons01.jpg (77,5 ko).
La première opération consiste à réduire le nombre de couleurs de l'image à une quantité adaptée à l'effet final recherché (disons 16).
Avec GIMP, cela peut se faire, par exemple, par Menu > Image > Mode > Couleurs indexées. Cette commande ouvre une boîte de dialogue qui permet
de choisir le nombre de couleurs :
NOTA : cette opération n'est pas absolument indispensable car, techniquement, inkscape sait réduire le nombre de couleurs du bitmap qu'il vectorise. Cependant, il peut sembler plus facile de gérer les couleurs avec le GIMP. Cela dépend aussi de la maîtrise que l'utilisateur a des deux outils...
Après cette opération, il est préférable d'enregistrer cette image dans un format sans perte comme png ou jpeg 100%.
fichier poissons02.png (82,3 ko).
NOTA : si, à ce stade, le rendu n'est pas satisfaisant, il faut revenir en arrière et retravailler l'image, par exemple en améliorant le contraste à l'aide de l'outil courbes, puis recommencer la réduction des couleurs jusqu'à obtenir une image satisfaisante pour la suite.
Pour effectuer la conversion proprement dite, ouvrir inkscape. Puis Menu > Fichier > Importer... et, dans la boîte de dialogue qui s'ouvre,
sélectionner le fichier avec les couleurs réduites créé à l'étape précédente. Inkscape demande de choisir entre "incorporer" ou "lier"
l'image ; dans le cas présent, cela n'a aucune importance car cette image va bientôt être supprimée.
Choisir et valider !
Inkscape affiche alors l'image BITMAP dans sa fenêtre, déjà sélectionnée, comme dans la vue suivante :
Aller dans le menu > Chemin > Vectoriser le bitmap... ; ceci ouvre une boîte de dialogue.
Dans son onglet "Options", cocher les trois options d'amélioration et fixer la taille des parasites à éliminer à une valeur raisonnable,
5 par exemple.
Dans son onglet "Mode", dans la plage de paramètres "Passes multiples: crée un groupe de chemins", sélectionner la puce "couleurs"
et fixer le nombre de passes égal au nombre de couleurs dans l'image réduite, ici 16 (ce n'est pas une obligation mais cela semble
cohérent) :
Choisir "Passe simple" conduirait à une vectorisation en nuances de gris.
NOTA: s'il ne s'agit pas d'une photo mais, par exemple, d'un dessin numérisé dans lequel il est impératif de garder la sécheresse du trait et les angles marqués, alors il faut bien sûr décocher les options d'adoucissement dans les deux onglets... Chacun ajustera ces paramètres et testera...
Ceci fait, dans la cellule "Aperçu", cliquer sur "mettre à jour" pour pré-visualiser le résultat :
Si la prévisualisation est satisfaisante, cliquer UNE SEULE FOIS sur Valider. Fugitivement, ce bouton devient inactif pendant que s'active le bouton voisin "Arrêter". Cependant, si la machine est puissante et l'image simple, cela peut aller si vite que l'utilisateur peut avoir l'impression qu'il ne s'est rien passé...
Refermer la boîte de dialogue "Vectoriser le bitmap". L'objet BITMAP a été recouvert par un objet vectoriel quasi identique. Pour s'en
convaincre, il suffit de déplacer ce dernier en l'attrapant à la souris pour faire apparaître le bitmap qui est dessous. Dans l'illustration
suivante, le vectoriel est à gauche, le bitmap à droite :
Sélectionner le bitmap et le supprimer car il est devenu inutile. Recentrer l'objet vectoriel et le redimensionner pour l'inscrire dans la page
(pour ne pas changer ses proportions, il faut verrouiller le petit cadenas dans le ruban des outils) :
.
Sauvegarder le travail en enregistrant le fichier dans le format vectoriel voulu (selon l'usage prévu pour ce fichier, par exemple svg simple).
Le traitement pourrait s'arrêter ici. Cependant, il est vraisemblable que l'objet vectoriel est inutilement chargé de détails peu lisibles qui alourdissent le fichier sans contribuer réellement au dessin, voire en le polluant un peu. Inkscape permet de corriger cela facilement en allant dans le menu > Chemin > Simplifier. Cette opération réduit le nombre de nœuds des chemins vectoriels et lisse le dessin en conséquence. Dans l'exemple présenté ici, la taille du fichier vectoriel passe de 1,4 Mo à 275 ko. En pratique, le fichier au format vectoriel obtenu, poissons04.svg est un "simple" fichier texte décrivant les chemins. Il peut être visualisé par un navigateur internet et, plus généralement, utilisé dans toute application sachant exploiter les dessins vectoriels, comme LibreOffice par exemple : poissons04.pdf.
© Sellig Zed, 10.II.2016.