Meiner Ansicht nach sehr unterschätzt wird ImageMagick, eine Sammlung von Werkzeugen zur Konvertierung und Bearbeitung von Grafiken, die für die wichtigsten Betriebssysteme – darunter auch Linux – verfügbar ist. Aktuell ist ImageMagick 7.1.2-0. Im Folgenden möchte ich ein paar Beispiele für den Einsatz dieser Software vorstellen. Dabei ist zu beachten, dass ImageMagick generell aus einer Shell bzw. einem Script heraus aufgerufen wird. Es gibt zwar auch eine Version mit GUI (grafischer Benutzeroberfläche), aber die unterstützt nur einen wirklich rudimentären Teil der Befehle. Aufrufbar mittels display aus einer Shell heraus, und dann einmal auf das Logo klicken.
Konvertieren
Eine Stärke von ImageMagick (im Folgenden IM) ist das Konvertieren von einem Grafikformat in ein anderes. Dabei werden über hundert Grafikformate (u. a. auch PDF) unterstützt. Wichtig sind die Unterschiede zwischen dem teilweise noch gebräuchlichen IM 6 und dem aktuellen IM 7. Wenn man wie in den folgenden Beispielen eine Grafik konvertieren möchte, lautet der Befehl bei IM 6 convert, bei IM 7 dagegen magick. Die installierte Version von IM erfahrt ihr, wenn ihr
convert -version
eingebt. convert funktioniert auch unter IM 7 noch. Dasselbe gilt auch für die anderen Beispiele für IM 6. Auch hier müsste convert auch bei IM 7 funktionieren; magick führt dagegen bei IM 6 zu einer Fehlermeldung.
Ein einfaches Beispiel (IM 6) für eine Konvertierung:
convert [Beispielgrafik].png [Beispielgrafik].jpg
konvertiert ein PNG in ein JPG, wobei die Farbtiefe auf 24 bit heruntergerechnet wird, weil JPG nicht mehr unterstützt. Wenn man jedoch magickbenutzt, kommt bei IM 6 eine Fehlermeldung:
Der Befehl 'magick' wurde nicht gefunden ...
Etwas komplexer – ebenfalls für IM 6 – ist
convert [Beispielgrafik].png -density 300 -depth 8 -colorspace sRGB [Beispielgrafik].jpg
Hier steht -density für den dpi-Wert (hier: 300)‚ -depth für die Farbtiefe (hier: 8 bit/Kanal) und -colorspace für den Farbraum (hier: sRGB). Das Ergebnis kann man sich mittels
display [Beispielgrafik].jpg
anschauen. Hat bei der Konvertierung etwas nicht geklappt, dann erscheint das IM-Logo mit dem Zauberer. Durch einmaliges Klicken auf dieses Logo ruft man das GUI von IM auf. Dann kann man mittels File > Open die betreffende Grafik öffnen und so ggf. feststellen, wo der Fehler liegt.
Komplexere Farbverläufe
Mittels IM können Farbverläufe generiert werden, die man mit dem Gimp a) nur sehr schwer bzw. b) gar nicht hinbekommt.
Ein nicht zu komplexes Beispiel:
convert -size 625x625 xc: +size xc:red xc:yellow -colorspace RGB \
-fx 'ar=hypot( i/w-.8, j/h-.3 )*4;
br=hypot( i/w-.3, j/h-.7 )*4;
u[1]*br/(ar+br) + u[2]*ar/(ar+br)' \
-colorspace RGB gradient_dist_ratio.png
Und das Ergebnis:

Okay, diesen Verlauf kann man auch mit der Option Multiplizieren im Gimp erzeugen. Da dieses Beispiel nicht übermäßig komplex ist, rate ich dazu, sich ergänzend einmal die Beispiele auf der IM-Website anzuschauen und etwas herumzuprobieren. So bekommt man auf die Dauer doch ein Gefühl dafür, wozu die einzelnen Parameter da sind.
An dieser Stelle noch ein Wort zur IM-Homepage, die leider nur auf Englisch verfügbar ist. Auch die Kommandos sind komplett auf Englisch. Ich weiß da für Leute, die nicht so gut Englisch können, leider keine Lösung – sorry! Auch über Google habe ich keine deutschsprachige Version gefunden. Es gibt aber im deutschsprachigen LinuxWiki eine Seite zu ImageMagick, wo ein paar grundlegende Befehle (Linux-Syntax; d. h. / etc.) erklärt werden.
Scans optimieren
Hier ein Scan mit einem lästigen gelblichen Farbstich. Im Gimp oder einem anderen Bildbearbeitungsprogramm lässt sich dieser Farbstich nur sehr unvollkommen bzw. nur sehr zeitaufwendig (wenn überhaupt) entfernen. Denkbar wäre evtl. ein entsprechend komplexes Script-Fu [1].

Mittels IM kann dieser Farbstich mit nur einer Codezeile entfernt werden:
convert test_scan_crevalcore.jpg \( +clone -blur 0x3 \) +swap -compose divide -composite Ergebnis.png

Noch nicht ganz optimal, aber die Richtung stimmt. Die restlichen gelblichen Bereiche können nun mit dem Gimp oder einem anderen Bildbearbeitungsprogramm entfernt werden.
Und hier der Scan nach der Bearbeitung im Gimp. Ich habe die gelblichen Reste mit dem Radierer [Umschalt]+[E] entfernt, wobei ich den Radius des Pinsels über das Fenster [2] Werkzeugeinstellungen jeweils angepasst habe. Dann habe ich den weißen Hintergrund mit Nach Farbe auswählen [Umschalt]+[O] selektiert und diese Auswahl invertiert [Strg]+[I]. Anschließend habe ich über Farben > Belichtung den Schwarzwert zweimal bis zum Anschlag erhöht und zum Schluss die Grafik in den Modus Graustufen konvertiert.

[1] Script-Fus sind, wie der Name schon sagt, im Gimp ausführbare Scripts, die auf der Programmiersprache Scheme basieren.
Ein Beispiel:

Zu finden sind Script-Fus z. B. unter Hilfe > Plug-in-Browser.
[2] Ich benutze den Gimp im 3-Fenster-Modus. Benutzer, die den Einfenster-Modus aktiviert haben, müssen analog verfahren.

Ich hatte geschrieben:
Das ist im Prinzip richtig, d. h., es geht, aber es braucht wesentlich mehr Zeit als in ImageMagick (und das ist noch ein relativ einfacher Verlauf). Der Schlüssel sind Ebeneneffekte wie eben
Multiplizieren.Claus
Moonbase59:
> (Geht hier eigentlich Markdown?)
Du meinst HTML tags? Wenn Du auf Bearbeiten klickst, kannst Du eine Reihe von tags einfügen:
b,i,link,b-quote,del,ins,img,ul,ol,liundcode.Claus
Huch? Wo gibt es denn hier “Bearbeiten”? Ich sehe immer nur ein “Kommentar”-Feld ohne Erklärungen, welche Funktionen möglich sind.
Bearbeiten hätte ich mir oft gewünscht, bei Tippfehlern oder so…
Wenn ich das recht in Erinnerung habe, lassen sich Kommentare für 10 Minuten editieren. Es ergibt ja keinen Sinn, das Editieren auch nach Stunden oder Tagen zu erlauben, weil dann auf eventuelle Antworten reagiert werden könnte. Stefan weiß da bestimmt Genaueres.
@Moonbase59:
Oh, sorry, bei mir als Autor kommt auch ein Link “Bearbeiten”. Hast Du es mal mit * oder ** versucht? In WhatsApp oder Discord klappt das. Ich muß mich mal mit einem anderen Rechner einloggen; vielleicht kann ich dann mehr herausfinden.
Claus
Ho_22:
Das Limit in der Bildgröße – Google zufolge 8192 Pixel – kannst Du in der
policy.xmländern. Zu finden in/etc/ImageMagick-[Version]. Bei mir (IM 6) sind es2048 MiB.Claus
Finde leider nur die UI etwas veraltet. Hatte auch erst letztens mit der Software zu tun aber das Bild Größen Limit hat mir Probleme gemacht. Dafür war dann Gimp besser.
Hallo Andi,
vielen Dank. 🙂 Was genau würdest Du hier gerne lesen? Ich schreibe hauptsächlich über “Grafik unter Linux”, d. h. den Gimp, Inkscape, Blender und eben ImageMagick.
Claus
In der Tat, ImageMagick (und auch exiftool) sind leider viel zu wenig bekannt. Verwende ich seit vielen Jahren, z.B. um (damals) damit [responsive image thumbnails](https://github.com/Moonbase59/makethumbsf6) zu erstellen.
(Geht hier eigentlich Markdown?)
Super Info, vielen Dank!
Davon wünsche ich mir mehr.
Viele Grüße, Der Andi