Qu'est-ce que la vectorisation ?
La vectorisation (aussi appelée tracé) est le processus qui consiste à convertir une image matricielle — une grille de pixels colorés — en une image vectorielle — un ensemble de courbes et de formes mathématiques. Ces deux représentations sont fondamentalement différentes :
- Raster (PNG, JPG, BMP) : Chaque pixel stocke une valeur de couleur. L'image possède une résolution fixe. L'agrandir au-delà de cette résolution produit un résultat flou et interpolé.
- Vecteur (SVG, AI, EPS) : Les formes sont définies par des équations mathématiques — courbes Bézier, lignes, arcs. Le moteur de rendu recalcule les formules à n'importe quelle taille cible, garantissant une netteté parfaite d'un favicon de 16 pixels à un panneau de 10 mètres.
La vectorisation n'est pas une simple conversion de format comme PNG vers JPEG. C'est une reconstruction : le logiciel analyse les contours des pixels, détecte les contours et construit une représentation mathématique entièrement nouvelle qui approxime l'image originale. La qualité de cette approximation dépend largement des caractéristiques de l'image source.
Notre pipeline de conversion
Lorsque vous importez un PNG (ou JPG, BMP, WebP, TIFF) sur CleverUtils pour le convertir en SVG, le fichier passe par un pipeline en plusieurs étapes. Comprendre chaque étape explique pourquoi certaines images se vectorisent parfaitement et d'autres produisent des résultats inattendus.
Étape 1 : Décodage de l'entrée (ImageMagick)
Le fichier importé est décodé par ImageMagick, qui gère pratiquement tous les formats matriciels. L'image est convertie en bitmap BMP non compressé — une grille de pixels brute sans artefacts de compression, sans métadonnées ni fonctionnalités propres à un format. Cela garantit que potrace reçoit une entrée propre et cohérente quel que soit le format de fichier original.
Étape 2 : Binarisation (seuillage)
Potrace fonctionne exclusivement avec des images en deux tons (binaires) — chaque pixel est soit noir, soit blanc. Le bitmap en niveaux de gris est converti en binaire à l'aide d'un seuil de luminosité. La luminosité de chaque pixel est comparée à la valeur de seuil (de 0,0 à 1,0, valeur par défaut : 0,5) :
- Les pixels plus sombres que le seuil deviennent noirs (premier plan — sera tracé)
- Les pixels plus clairs que le seuil deviennent blancs (arrière-plan — ignoré)
Pour les images en couleur, potrace commence par convertir en niveaux de gris à l'aide de la formule de luminance (0,2126R + 0,7152G + 0,0722B), puis applique le seuil. Il s'agit de l'étape la plus critique — le seuil détermine quelles parties de l'image sont capturées dans la sortie vectorielle.
Étape 3 : Tracé des contours
Potrace parcourt le bitmap binaire et identifie les limites entre les régions noires et blanches. Il suit ces limites pixel par pixel, construisant des contours bruts de chaque forme. L'algorithme gère correctement les formes imbriquées — une région blanche à l'intérieur d'une région noire, elle-même à l'intérieur d'une autre région blanche — en suivant la hiérarchie des relations intérieur/extérieur.
Étape 4 : Ajustement des courbes
Les contours bruts en pixels forment des escaliers en dents de scie (parce que les pixels sont carrés). Potrace ajuste des courbes Bézier lisses sur ces contours, remplaçant les bords en escalier par des courbes mathématiques nettes. L'algorithme minimise l'erreur entre le contour original en pixels et la courbe ajustée tout en maintenant une description de tracé compacte.
Étape 5 : Sortie SVG
Les courbes ajustées sont écrites sous forme d'éléments SVG <path> — du XML standard que tout navigateur, outil de conception ou machine de découpe peut afficher et manipuler.
Commande du pipeline complet : convert input.png BMP:- | potrace -s --opaque -o output.svg
ImageMagick convertit l'entrée en BMP et la transmet directement à potrace via le pipe. Le paramètre -s demande une sortie SVG. --opaque remplit l'arrière-plan en blanc.
Ce qui se vectorise bien
L'étape de seuillage binaire est la clé pour comprendre quelles images produisent un excellent résultat SVG. Les images qui se divisent naturellement en régions claires et sombres bien définies avec des contours nets correspondent parfaitement au modèle de traitement de potrace.
| Type de source | Qualité | Pourquoi ça fonctionne |
|---|---|---|
| Logos sur fond blanc | Excellente | Contraste élevé, contours nets, couleurs unies |
| Dessins au trait et croquis | Excellente | Traits à l'encre/crayon forts sur papier blanc |
| Icônes (design plat) | Excellente | Formes géométriques, couleurs uniformes, limites nettes |
| Texte et typographie | Excellente | Bords nets, noir uniforme sur blanc |
| Silhouettes | Excellente | Pur noir/blanc, contours nets, sans détail interne |
| Tampons et sceaux | Très bonne | Contraste élevé, mais peut nécessiter un ajustement du seuil pour les zones délavées |
| Schémas techniques | Très bonne | Lignes nettes, mais les très fines peuvent nécessiter un seuil plus bas |
| Designs dessinés à la main | Bonne | Les traits à l'encre fonctionnent ; les traits légers au crayon peuvent disparaître |
Le point commun : contraste élevé, contours nets, plage tonale limitée. Si l'image reste reconnaissable réduite au pur noir et blanc, elle se vectorisera bien.
Ce qui se vectorise mal
Le même seuillage binaire qui fonctionne parfaitement pour les logos et les dessins au trait échoue pour les images à variation tonale continue. Lorsque chaque pixel possède une valeur de luminosité unique, les forcer tous en noir ou blanc détruit l'information visuelle qui rend l'image significative.
- Photographies : Les portraits, paysages et photos de produits contiennent des dégradés fluides sur la peau, le ciel, le feuillage et les tissus. Le seuillage réduit tout à des taches noires et blanches tranchées, produisant un aspect abstrait ou postérisé. Le fichier SVG peut également être énorme — des milliers de petits tracés tentant d'approximer une variation tonale continue.
- Dégradés doux : Les ciels au coucher du soleil, les fondu enchaîné de couleurs, les effets de vignette et les ombres ne peuvent pas être représentés en binaire. Le dégradé est découpé en bandes discrètes aux limites irrégulières.
- Textures complexes : Tissu tissé, grain du bois, fourrure, texture du papier — ceux-ci génèrent un grand nombre de petits tracés vectoriels qui paraissent bruités et n'ont aucun intérêt pratique.
- Sources à faible résolution : Une miniature de 100×100 pixels fournit si peu de points de données que l'ajustement des courbes Bézier produit des tracés grossiers et anguleux. Le résultat paraît angulaire et rudimentaire quel que soit le contenu source.
- JPEG fortement compressés : La compression JPEG crée des artefacts en blocs de 8×8 pixels autour des bords nets. Potrace trace ces artefacts de compression plutôt que les bords réels de l'image, produisant des tracés vectoriels bruités et irréguliers.
Règle générale : Si la signification essentielle de l'image survit en pur noir et blanc — sans gris ni dégradé — elle se vectorisera bien. Si l'image repose sur une subtilité tonale ou un détail photographique, la vectorisation n'est pas la bonne approche.
Conseils pour optimiser la qualité
Les améliorations les plus significatives proviennent de la préparation de l'image source avant l'importation, et non du réglage des paramètres potrace. Ces étapes fonctionnent dans n'importe quel éditeur d'image.
Utilisez la résolution la plus élevée disponible
Potrace ajuste des courbes Bézier sur les contours des pixels. Plus il y a de pixels, plus l'algorithme d'ajustement des courbes dispose de points de données, ce qui produit une sortie plus lisse et plus précise. Une image de 2000×2000 pixels produit des courbes nettement meilleures qu'une version 500×500 du même contenu. Importez toujours la version la plus grande disponible — la sortie SVG est indépendante de la résolution, mais sa qualité dépend de la résolution de l'entrée.
Nettoyez la source
Pour les images scannées, supprimez le bruit de fond et les artefacts avant l'importation. Utilisez un ajustement Niveaux ou Courbes pour pousser l'arrière-plan vers le blanc pur et le premier plan vers le noir pur. Supprimez les taches de poussière, la texture du papier et les artefacts de numérisation avec un léger flou ou un filtre de débruitage. Recadrez serré pour éliminer les ombres des bords.
Augmentez le contraste
Poussez le curseur de contraste vers le haut. Un contraste plus fort signifie un écart plus large entre les valeurs de luminosité du premier plan et de l'arrière-plan, ce qui offre au seuil une séparation plus nette. Pour les images N&B, l'entrée idéale ne possède que deux tons : le noir pur et le blanc pur, sans rien entre les deux.
Utilisez PNG, pas JPEG
La compression JPEG crée des artefacts en blocs visibles autour des bords nets — exactement les zones que potrace analyse pour le tracé des contours. Ces artefacts produisent des tracés vectoriels irréguliers et bruités qui retracent les limites de compression plutôt que les bords réels de l'image. Si vous avez le choix, utilisez toujours PNG. Si seul le JPEG est disponible, utilisez la version de meilleure qualité (moins compressée).
Ajustez le seuil
Le seuil par défaut de 0,5 fonctionne pour la plupart des images à fort contraste. Pour les sources de couleur claire (documents délavés, croquis au crayon léger), augmentez à 0,6–0,7 pour capturer davantage de contenu. Pour les images sombres ou denses où l'arrière-plan capte du bruit indésirable, diminuez à 0,3–0,4 pour ne capturer que les éléments les plus sombres.
Paramètres de potrace expliqués
Au-delà du seuil, potrace propose plusieurs paramètres qui affinent le caractère de la sortie.
| Paramètre | Flag | Plage | Défaut | Effet |
|---|---|---|---|---|
| Seuil | -k |
0,0–1,0 | 0,5 | Seuil de luminosité pour la conversion binaire. Plus bas = sortie plus claire, plus haut = sortie plus dense |
| Lissage des coins | -a |
0–1,334 | 1 | 0 = tous les coins nets. 1,334 = lissage maximum. Contrôle la courbe vs l'angle aux coins. |
| Optimisation | -O |
0–5 | 2 | Agressivité de la simplification des courbes. Plus élevé = moins de points, fichier plus léger, moins de précision |
| Suppression du bruit | -t |
0–100+ | 2 | Surface maximale en pixels des régions isolées à ignorer. Plus élevé = supprime les taches plus grandes |
Réglages recommandés par type de source
| Image source | Seuil | Coins | Turdsize | Notes |
|---|---|---|---|---|
| Logo N&B propre | 0,5 | 1 (lissé) | 2 | Les valeurs par défaut fonctionnent parfaitement pour les logos à fort contraste |
| Croquis au crayon | 0,35–0,45 | 1,334 (max) | 0 | Seuil bas pour éviter la texture du papier ; lissage max pour des lignes fluides |
| Tampon encreur / sceau | 0,55–0,65 | 1 (lissé) | 10–20 | Seuil plus haut pour capturer le tampon entier ; turdsize élevé pour supprimer les projections |
| Document scanné | 0,5–0,6 | 0 (net) | 5–15 | Coins nets pour le texte ; suppression modérée du bruit de poussière |
| Source délavée / claire | 0,65–0,8 | 1 (lissé) | 2–5 | Seuil plus haut pour capturer le contenu perdu à 0,5 |
| Pixel art / QR code | 0,5 | 0 (net) | 0 | Coins nets pour préserver la géométrie ; pas de suppression du bruit |
Vectorisation multi-couleurs
Potrace produit une sortie en noir et blanc uniquement. Il convertit l'image en une couche binaire unique (premier plan noir, arrière-plan blanc) et trace la limite. C'est voulu — potrace est optimisé pour un tracé N&B propre et précis.
Pour la vectorisation multi-couleurs, des approches alternatives existent :
- Tracé multi-passes : Exécutez potrace plusieurs fois à différents niveaux de seuil, chacun capturant une bande de luminosité différente. Empilez les couches SVG obtenues avec différentes couleurs de remplissage. La fonction "Vectoriser le bitmap" d'Inkscape propose cela sous "Scans multiples : Niveaux de luminosité."
- Quantification des couleurs + séparation des couches : Réduisez l'image à une palette de couleurs limitée (4–16 couleurs), séparez chaque couleur en un masque binaire et tracez chaque masque indépendamment. Les "Scans multiples : Couleurs" d'Inkscape automatisent cela.
- Image Trace d'Adobe Illustrator : Tracé assisté par IA qui gère plusieurs couleurs, dégradés et formes complexes. Produit une sortie multi-couleurs plus propre que l'empilement de couches, mais nécessite un abonnement payant.
- Services alimentés par IA : Des outils comme Vectorizer.AI utilisent l'apprentissage automatique pour identifier les formes, séparer les couleurs et générer un SVG multi-couleurs propre. Meilleurs résultats que les méthodes algorithmiques pour les images complexes, mais généralement payant à l'image.
Pour les cas d'usage de vectorisation les plus courants — conversion de logo, tracé de dessin au trait, préparation de fichiers de découpe — la sortie N&B de potrace est exactement ce dont vous avez besoin, et il s'exécute instantanément et gratuitement.
Cas d'usage pratiques
Agrandissement de logo
La raison la plus courante de vectoriser : votre logo n'existe qu'en petit PNG ou JPEG, et vous en avez besoin en beaucoup plus grand pour l'impression, la signalétique ou les produits dérivés. La vectorisation convertit le raster à résolution fixe en un SVG infiniment redimensionnable. La version SVG peut être imprimée sur un panneau d'affichage, brodée sur un chapeau ou affichée comme favicon — tout depuis le même fichier.
Icônes SVG pour le web
Si vous disposez d'un jeu d'icônes en fichiers PNG, les vectoriser en SVG vous offre une indépendance de résolution (nets sur tous les écrans), un style CSS (changez les couleurs au survol ou en mode sombre), des tailles de fichiers réduites et la possibilité de les intégrer directement en HTML pour zéro requête HTTP supplémentaire.
Machines de découpe (Cricut, Silhouette, laser)
Cricut, Silhouette et les découpeurs laser nécessitent des fichiers d'entrée vectoriels pour générer les chemins d'outil. La machine suit exactement les tracés vectoriels — le cutter ou le laser parcourt les courbes mathématiques. Si votre design n'existe qu'en PNG, la vectorisation est le pont entre le design matriciel et l'opération de découpe physique. Des images sources nettes et à fort contraste produisent les meilleurs chemins de découpe.
Broderie
Les machines à broder ont besoin de contours vectoriels pour générer les chemins de point. Les formes vectorielles déterminent la direction, la densité et les motifs de remplissage des points. Vectoriser un logo PNG en SVG est généralement la première étape pour créer un fichier de broderie (.PES, .DST, .EXP). Les formes simples aux limites nettes produisent le meilleur résultat de point.
Optimisation des performances web
Remplacer les icônes et logos PNG par des SVG sur un site web réduit le poids de la page (un seul SVG remplace plusieurs PNG spécifiques à une résolution), améliore la netteté sur les écrans Retina et permet un thème basé sur CSS. Un site typique avec 20 icônes peut économiser 200–400 Ko en passant de PNG à SVG, améliorant directement les scores Core Web Vitals.
Impression grand format
Les bannières pour salons professionnels, l'habillage de véhicules, la signalétique de bâtiment et les présentoirs d'exposition nécessitent tous des visuels qui restent nets à des tailles physiques mesurées en mètres. Les images matricielles qui paraissaient correctes à l'écran deviennent visiblement floues aux grandes tailles d'impression. Vectoriser le design garantit une netteté mathématique à n'importe quelle taille de sortie dont l'imprimeur a besoin.