Comment convertir des fichiers GIF en PNG ou JPEG sous OS X avec la ligne de commande?

15

J'ai des fichiers 10k + GIF que je dois convertir en PNG ou JPEG de préférence en utilisant la ligne de commande afin de pouvoir l'automatiser. Je ne suis pas inquiet de perdre de la qualité ou de la transparence, il suffit de préparer des fichiers pour le logiciel OCR.

Lorsque j'essaie d'utiliser convertformat, j'obtiens ceci:

Error in pixReadStreamGif: function not present
Error in pixReadStream: gif: no pix returned
Error in pixRead: pix not read
Error in pixGetDepth: pix not defined
Error in pixWrite: pix not defined

Des idées?

Sherzod
la source

Réponses:

34

Pas besoin d'outils supplémentaires. OS X a sips, qui peut convertir des images dans (presque) n'importe quel format.

Par exemple, pour convertir chaque fichier .gifen .jpeg, les placer dans un dossier appelé jpegs:

mkdir jpegs
sips -s format jpeg ./*.gif --out jpegs

Ou, pour les convertir récursivement en utilisant find, ce qui placera un fichier JPEG avec le même nom que le GIF à côté de lui.

find . -iname "*.gif" -type f -exec sh -c 'sips -s format jpeg "$0" --out "${0%.gif}.jpeg"' {} \;
slhck
la source
man sips ← Cette page de manuel est pour Mac OS X version 10.9: sips - système de traitement d'image scriptable.
iolsmit
2

Plutôt vieille question que je vois, mais malheureusement, la solution deux du slhck ne fonctionne pas pour moi (OS X Mountain Lion, bash), j'obtiens une erreur.

Celui-ci fonctionne pour moi (après cd my_dir_with_gifcommande bien sûr):

for i in *.gif; do sips -s format jpeg "${i}" --out "${i%gif}jpg"; done

Et si vous souhaitez également définir la compression jpg ( [low|normal|high|best|<percent>])

for i in *.gif; do sips -s format jpeg -s formatOptions 100 "${i}" --out "${i%jpg}png"; done

Pour les autres formats, vous devez changer les extensions (rappelez-vous que le format jpg sips est toujours jpeg, l'extension pourrait être .jpg)

Cela utilise sipsmais encore mieux ImageMagick. C'est un excellent outil, et je suggère de l'installer en utilisant la page d'accueil debrew see brew

Steve
la source
0

Découvrez GraphicsMagick ou ImageMagick , ils ont des outils en ligne de commande pour toutes sortes de manipulations de fichiers graphiques (y compris des trucs ennuyeux comme la transformation vers un autre format).

vonbrand
la source