ImageMagick ist seit 1987 die Schweizer Taschenmesser für Bildverarbeitung auf der Kommandozeile. Es liest und schreibt mehr als 200 Bildformate (TIFF, JPEG, PNG, PDF, WebP, HEIC, JP2, RAW, …), beherrscht Resize, Crop, Konversion, Farbprofil-Konvertierung, OCR-Vorbereitung, und lässt sich gut in Pipelines und Batch-Skripte einbauen.
v6 vs. v7
Seit Version 7 (2016) ist das primäre Kommando magick; convert, mogrify, identify etc. existieren weiterhin als Shortcuts. Auf älteren Systemen ist convert das Hauptkommando — mit gewissen Argument-Reihenfolge-Unterschieden zu magick.
magick --version # zeigt v7-Stil
convert --version # zeigt v6-Stil oder ein v7-Symlink
In den folgenden Beispielen verwenden wir magick; auf v6-Systemen funktioniert convert analog.
Format-Konversion
magick eingabe.tif ausgabe.jpg
magick scan.pdf seite-%02d.png # PDF-Seiten in einzelne PNGs
magick foto.heic foto.jpg # iPhone-Fotos
Resize
magick original.tif -resize 1600x ausgabe.jpg # max. 1600 px Breite, Höhe proportional
magick original.tif -resize x800 ausgabe.jpg # max. 800 px Höhe
magick original.tif -resize 800x600 ausgabe.jpg # in eine 800×600-Box einpassen
magick original.tif -resize 800x600^ -gravity center -extent 800x600 ausgabe.jpg # füllen + zentriert beschneiden
magick original.tif -resize 50% ausgabe.jpg # 50 % der Originalgrösse
JPEG-Qualität und Strip
magick scan.tif -quality 88 -strip ausgabe.jpg
# -quality: 1–100 (90+ kaum sichtbarer Unterschied, 75–88 typischer Web-Wert)
# -strip: entfernt EXIF, Farbprofile, Thumbnails (kleinere Datei)
Crop
magick foto.jpg -crop 800x600+100+50 zugeschnitten.jpg
# 800×600-Ausschnitt, beginnend bei (100,50) von links/oben
magick foto.jpg -gravity center -crop 1024x1024+0+0 +repage zentriert.jpg
Rotation und Spiegelung
magick foto.jpg -rotate 90 gedreht.jpg
magick foto.jpg -auto-orient korrigiert.jpg # rotiert anhand des EXIF-Orientation-Tags
magick foto.jpg -flip vertikal_gespiegelt.jpg
magick foto.jpg -flop horizontal_gespiegelt.jpg
Farbprofile
magick eingabe.tif -profile sRGB.icc ausgabe.jpg # Profil zuweisen / konvertieren
magick eingabe.tif -strip ausgabe.jpg # Profil entfernen (vorsichtig!)
Profile findet man in der ImageMagick-Distribution oder bei der International Color Consortium (ICC).
identify — Metadaten ansehen
identify foto.jpg
# foto.jpg JPEG 4032x3024 4032x3024+0+0 8-bit sRGB 2.4MB
identify -verbose foto.jpg | less # vollständige Metadaten
identify -format "%w %h %m %b\n" foto.jpg
mogrify — In-place-Stapel
mogrify arbeitet wie magick, schreibt aber Ergebnisse direkt in die Quelldatei (oder mit -path in ein Zielverzeichnis):
# alle TIFFs in einem Verzeichnis als JPEG-Kopien erzeugen
mogrify -path ./jpeg -format jpg -quality 88 -strip *.tif
# alle PNGs auf 1600 px Breite verkleinern (in-place!)
mogrify -resize 1600x *.png
Mehrseitige TIFFs / GIFs
# Mehrseitiges TIFF in einzelne Bilder
magick scan.tif scan-%02d.tif
# Animation aus Einzelbildern
magick -delay 20 -loop 0 frame-*.png animation.gif
# Erste Seite eines mehrseitigen Dokuments extrahieren
magick scan.pdf[0] cover.png
Composite und Watermark
magick foto.jpg watermark.png -gravity southeast -geometry +20+20 -composite mit-watermark.jpg
OCR-Vorbereitung
Vor Tesseract & Co. lohnt sich oft ein wenig Aufbereitung:
magick scan.tif -density 300 -colorspace Gray -threshold 50% scan-bw.tif
magick scan.tif -deskew 40% gerade.tif # Schrägstellung korrigieren
Sicherheit (PDFs)
ImageMagick verarbeitet PDFs über Ghostscript. Standardmässig sind PS/PDF/EPS in /etc/ImageMagick-7/policy.xml aus Sicherheitsgründen oft deaktiviert. Wenn magick scan.pdf … „not authorized” sagt, muss diese Policy angepasst werden — bewusst und nicht für nicht-vertrauenswürdige PDFs.
Performance-Tipps
-define jpeg:size=…beim Lesen — beschleunigt grosse JPEGs.-limit memory 2GiB -limit map 4GiB— Limits anpassen für Batch-Verarbeitung.-stripauf Output reduziert Dateigrösse drastisch.- Statt mehrerer aufeinanderfolgender
magick-Aufrufe alle Operationen in einem Aufruf chainen — spart Reads/Writes.