AA_PO-22368-123RF-altomedia.jpg

© Altomedia, 123RF

Bilder im Griff

Bildbearbeitung mit ImageMagick

19.07.2012
Wer nicht 1000 Urlaubsbilder von Hand skalieren, normieren, beschneiden oder mit Wasserzeichen versehen möchte, für den führt kein Weg an der Werkzeugsammlung ImageMagick vorbei.

ImageMagick zählt zu den absoluten Dauerbrennern der Open-Source-Szene: Der Grafik-Werkzeugkasten für die Kommandozeile wird sei 1999 kontinuierlich weiter entwickelt und trägt aktuell die Versionsnummer 6.7.7. An der grundsätzlichen Handhabung hat sich über die Jahre kaum etwas geändert, allerdings kommen von Version zu Version neu unterstützte Bildformate, Funktionen oder Programmierschnittstellen hinzu.

Es besteht nur selten ein Anlass, die aktuellste Version von der Projektseite [1] herunter zu laden und aus den Quellen [2] zu übersetzen, weil alle wichtigen Distributionen das Paket bereits mitbringen, Ubuntu 12.04 etwa in der Version 6.6.9.7.

Magisches Universum

ImageMagick gibt es nicht nur für Linux, sondern auch für Windows, Mac OS X und iOS. Zudem existieren diverse Programmierschnittstellen, darunter die C-Core-API Magick Core [3], ein objektorientiertes C++-API namens Magick++ sowie das Perl-Interface PerlMagick, sodass sich Bilder auch dynamisch generieren lassen. Daher setzen selbst Web-Anwendungen häufig auf ImageMagick.

ImageMagick besteht aus einer Reihe von einzelnen Werkzeugen zur Bildmanipulation [4], derzeit elf an der Zahl, von denen convert das bekannteste und am meisten benutzte sein dürfte. Der gemeinsame Nenner aller ImageMagick-Tools besteht darin, dass alle auf das gleiche Fundament an Basis-Bibliotheken zurückgreifen, die unter anderem das Lesen und Schreiben der inzwischen knapp 100 unterstützen Dateiformate ermöglichen. Die Basis-Bibliotheken zeichnen auch für zahlreiche andere grafische Basis-Operationen verantwortlich.

Die eigentliche Mächtigkeit der Tool-Sammlung liegt – abgesehen von den erwähnten Programmierschnittstellen – aber vor allem in der Vielzahl möglicher Operatoren begründet. Dabei stützen sich die Beispiele aus dem Bereich Automatisierung selbstverständlich in erster Linie auf die Fähigkeiten der Bash. Da alle ImageMagick-Tools kommandozeilenorientiert arbeiten, lassen Sie sich auch in vielfältiger Weise verknüpfen.

Das mit Abstand populärste Tool aus der ImageMagick-Sammlung heißt Convert. Viele Nutzer betrachten es irrtümlich als eigenständiges Werkzeug oder gar Linux-Bordgepäck, weil viele Distributionen ImageMagick bereits vorinstallieren. Findet sich Convert auf Ihrem Rechner nicht, installieren sie erst einmal via Paketverwaltung ImageMagick.

Convert kann jedes der unterstützen Dateiformate ineinander konvertieren und außerdem jedes Bild skalieren, beschneiden, beschriften oder in sonst irgendeiner Form transformieren: Es ist also der eigentliche Bildbearbeiter im Reigen der ImageMagick-Tools. Der Einsatz von Convert funktioniert wie bei fast allen Werkzeugen nach dem Schema

$ Befehl Ursprungsbild [Optionen] Ergebnisbild

Dabei erlauben fast alle ImageMagick-Tools statt der Angabe eines Ergebnisbilds auch den Parameter x:, womit das Resultat der Verarbeitung quasi als Preview direkt auf der X11-Oberfläche in einem Viewer erscheint, statt in einer Datei zu landen (Abbildung 1).

Abbildung 1: ImageMagick kann Ergebnisse auch testweise lediglich auf der X11-Oberfläche anzeigen.

ImageMagick-Tools

Name Funktion
animate spielt eine Serie von Bildern schnell hintereinander ab
convert Bilder einlesen, bearbeiten und speichern
compare vergleicht zwei Bilder und schreibt die Unterschiede in eine Bilddatei
composite fügt mehrere Bilder zu einem Bild zusammen
conjure führt Skripte in der Skriptsprache von ImageMagick aus
display stellt ein Bild auf einem X11-Server dar
identify zeigt Dateiformat, Bildgröße und weitere Bildparameter an
import erzeugt Bildschirmfotos
montage fügt mehrere Bilder zusammen
mogrify funktioniert wie Convert, ersetzt aber das Ursprungsbild durch das Ergebnis
stream liest Teile aus Bilddateien aus, um sie etwa als Rohdaten auszugeben

Convert

Der einfachste Anwendungsfall für Convert besteht im Umwandeln des Eingangsformats in eines der unterstützen Ausgangsformate mittels

$ convert bild-alt.jpg bild-neu.png

Die zu verwendenden Grafikformate erkennt Convert anhand der Dateiendung selbstständig. Bei der Gelegenheit ist es ein Leichtes, gleich die Größe des Ziel-Bildes zu verändern, sei es um Thumbnails für eine Web-Galerie zu erzeugen oder Fotos aus verschiedenen Kameras in unterschiedlichen Ausgangsgrößen zu normieren. Convert kennt dazu den Parameter -resize. Er akzeptiert sowohl absolute Größenangaben in Pixeln (-resize 320x240) als auch relative Größenangaben in Prozent (-resize 20%).

Es gilt zu beachten, dass Sie auf diesem Weg zwar eine Zielgröße angeben dürfen, Convert aber ohne weitere Anweisungen stets das Seitenverhältnis des Ursprungsbilds beibehält. Versuchen Sie beispielsweise, einen Laptop-Screenshot von WXGA+ (1440x900) auf XGA (1024x768) herunterzurechnen, führt das entsprechende Kommando

$ convert wxga.jpg -resize 1024x768 xga.jpg

dazu, dass xga.jpg keineswegs das angegebene Zielformat aufweist, sondern vielmehr eine Größe von 1024 mal 640 Pixeln – im selben Seitenverhältnis wie das Ausgangsbild.

Sie können -resize allerdings durch Angabe eines Ausrufezeichens hinter der Größenangabe (-resize 320x240!) auch zwingen, die angegebene Skalierung vorzunehmen. Daraus resultieren je nach Formfaktor des Ursprungsbilds mehr oder minder starke Verzerrungen im Ergebnis.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl: Grafik-Tools aus ImageMagick
    Gimp ist das Standardprogramm, wenn es um anspruchsvolle Bildbearbeitung geht. Doch viele Aufgaben, wie Größenänderung und Formatkonvertierung, erledigen Sie auch schnell auf der Kommandozeile.
  • Zügiger Wechsel
    Manchmal muss man einen ganzen Schwung Bilder am Stück konvertieren. Hier macht ExactImage dem traditionellen ImageMagick Konkurrenz.
  • Grafiken schnell passend gemacht
    Sei es für die Verwendung innerhalb von Web-Seiten oder andere Zwecke: Häufig müssen Grafiken von einem Format in ein anderes konvertiert und dabei noch in Größe und Qualität verändert werden. Mit convertaus dem ImageMagick-Paket machen Sie das schnell auf der Kommandozeile.
  • Profi-Funktionen von ImageMagick nutzen
    Vom Konvertieren von Negativen bis hin zum PDF fürs Fotobuch – mit ImageMagick und ein paar Zeilen Shell-Code meistern Sie jede Aufgaben ruck, zuck auf der Kommandozeile.
  • Bildbearbeitung auf der Shell
    Bildbearbeitung muss nicht zwingend den Start eines grafischen Programms und etliche Mausklicks bedeuten: Das ImageMagick-Paket bietet zahlreiche Kommandozeilen-Tools, mit denen Sie schnell und effektiv Ihre Bilder in die richtige Form bringen.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.
Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 5 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...