J'ai de nombreux bitmaps d'échelle de gris que je dois convertir en un format vectoriel, tel que SVG. J'utilise Inkscape, ce qui donne de bons résultats, mais cela prend environ 10-15 minutes pour ouvrir, convertir et enregistrer un fichier. Existe-t-il un outil de traitement par lots ou en ligne de commande qui peut les convertir?
command-line
images
conversion
svg
Village
la source
la source
potrace
.Réponses:
potrace
J'ai trouvé cet exemple sur SO dans un Q&A intitulé: Comment convertir une image JPEG au format SVG en utilisant ImageMagick? . Une des réponses suggérées
potrace
.Résultats
En regardant le
potrace
site Web, vous pouvez apparemment passer directement de BMP à SVG.autotrace
Une autre option
potrace
estautotrace
.Vous devrez probablement jouer avec
--color-count
pour obtenir une image adaptée à vos besoins.Résultats
Lequel utiliser?
De ces 2, cela dépend vraiment du matériel source. Si vous convertissez des images,
potrace
c'est probablement la meilleure option. Pour le matériel non photo tel que les polices et les objets inanimés tels que les paysages qui incluent des choses comme les routes, puisautotrace
avec son--centerline
interrupteur.Conversions par lots
Vous pouvez encapsuler l'une de ces commandes dans une boucle for dans Bash, ce qui facilitera la tâche de conversion en masse.
Les références
la source
convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
Autotrace
Vous pouvez essayer le suivi automatique .
En utilisant la commande suivante, vous obtenez les résultats suivants:
J'ai dû prendre une capture d'écran du svg résultant et l'enregistrer au format png pour afficher la sortie.
Voici une image source jpg:
Voici l'image résultante:
la source
Normalement, je fais toutes mes tâches de manipulation d'image avec
convert
ImageMagic mais je n'arrive pas à le faire jouer correctement avec les fichiers svg. Vous pouvez cependant utiliserinkscape
depuis la ligne de commande:Cela va créer des fichiers appelés
foo.bmp.svg
. Pour obtenir les bons noms, essayez ceci:Le problème avec cette approche est qu'au moins sur mon système, il apparaît une boîte de dialogue graphique ennuyeuse me demandant si je veux lier ou incorporer l'image:
Donc, vous devez toujours cliquer sur OK manuellement, mais c'est toujours beaucoup plus rapide que de le faire fichier par fichier.
Les images de sortie sont identiques pour autant que je sache:
Théoriquement, les deux
convert
etrsvg-convert
devraient pouvoir le faire, mais je n'ai pas pu le faire fonctionner correctement sur mes images dans les quelques minutes que j'ai passées à essayer. Ils méritent tous les deux d'être examinés néanmoins.la source
potrace
intégré, alors je me demande s'il utilise simplement cet outil de toute façon? citation: "Potrace est maintenant intégré à Inkscape. Vous n'avez pas besoin de l'exécuter séparément." - wiki.inkscape.org/wiki/index.php/Toolspotrace
est l'outil pour cela. Vous pouvez les traiter en masse, mais vous devez d'abord convertir les images en monochrome:Installez sur Ubuntu:
Si vous souhaitez convertir des images qui ne sont pas monochromes,
Inkscape
possède une base d'outils de traçage sur Potrace qui prend en charge plusieurs couleurs, il convertit d'abord l'image en couches de couleur, puis il les trace et combine le résultat.Voir
Tutoriel ici!
la source