Home / LinuxUser / 2012 / 08 / Bildbearbeitung mit ImageMagick

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

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

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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

2750 Hits
Wertung: 158 Punkte (11 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...