Die Winterferien sind vorbei, und die neue Digitalkamera platzt aus allen Nähten. Um den daheim gebliebenen einen langweiligen Dia-Abend zu ersparen, wollen Sie eine Bildergalerie auf die Homepage stellen. Das bedeutet Arbeit: Sie müssen Fehlschüsse aussortieren und kleine Vorschaubilder basteln – schließlich kann die Oma im Sauerland mit ihrem Modem nicht Tonnen an Bildmaterial herunterladen.
Gewöhnlich greifen Sie dafür zu Gimp, öffnen nacheinander jedes Bild, bearbeiten es, verkleinern es und speichern es schließlich. Darüber geht schnell einmal ein ganzes Wochenende vorbei. Zum Glück bringt jede gute Distribution Imagemagick mit, eine Sammlung von Kommandozeilentools zur Bildmanipulation.
Nein, das ist kein Tippfehler: Die Werkzeuge bedienen Sie fast ausschließlich über die Konsole. Die Tools verarbeiten spielend riesige Bildermengen wie am Fließband. Um etwa alle 451 Urlaubsfotos mit einem Rahmen zu versehen, genügt zum Beispiel schon ein kurzer Befehl.
Typische Anwendungsbereiche
Die Imagemagick-Programme eignen sich besonders für die folgenden Aufgabenbereiche:
- Konvertierung in andere Bildformate
- Änderung der Bildgröße
- Pixelgenau drehen, skalieren und ausschneiden
- Anwenden von Filtern und Effekten
- Erstellung von Animationen für das Web
- Erstellen von einfachen Grafiken mittels geometrischer Grundformen oder durch Kopieren von (kleineren) Grafikschnipseln
- Erzeugen von Thumbnails und Rahmen
- Mehrere Bilder zu einem Gesamtwerk zusammenstellen (etwa als Poster, Collage oder Bildergalerie)
Programmübersicht
| Programm | Funktion |
|---|---|
convert
|
konvertiert das Originalbild in ein anderes Format, dabei angewandte Filter und Effekte betreffen nur das Ergebnis |
mogrify
|
ändert im Gegensatz zu convert das Bild direkt
|
composite
|
überlagert mehrere Bilder |
montage
|
kombiniert Bilder zu einem Panorama, einem Poster oder einer Übersicht |
import
|
erstellt Screenshots |
identify
|
liefert Informationen über eine Bilddatei |
display
|
zeigt Bilder in einem Fenster an |
animate
|
spielt eine Animation ab |
Ausschussware
Als erstes sollten Sie die misslungenen Aufnahmen aussortieren. Dabei hilft das Programm display (Abbildung 1). Der Befehl display *.jpg etwa zeigt alle JPEG-Bilder im aktuellen Verzeichnis an, die Leertaste schaltet immer ein Bild weiter. Eine Übersicht (Abbildung 2) über den vorhandenen Fotobestand, die sich per [Strg]+[S] auch speichern lässt, liefert zunächst der Befehl display vid:*.jpg.
Über das Kommando identify bild.jpg entlocken Sie einem Foto tiefer gehende Informationen. Der Befehl liefert im Terminalfenster eine Reihe von etwas kryptischen Informationen zum Foto bild.jpg. Im Beispiel aus Abbildung 3 handelt es sich um eine JPEG-Datei, die eine Auflösung von 3264x2448 Pixel aufweist, wobei jeder Farbkanal 8 Bit Farbinformationen speichert. Bei drei Farbkanälen (für Rot, Grün und Blau) ergibt das eine Farbtiefe von 24 Bit. Der letzte Wert nennt noch die Dateigröße. Die in vielen Fotos versteckten EXIF-Informationen kramt der Parameter -verbose hervor:
$ identify -verbose bild.jpg
Haben Sie alle unerwünschten Fotos identifiziert und gelöscht, geht es im zweiten Schritt an eine Aufbereitung für die Homepage.
Eingemachtes
Für gewöhnlich liefert die Kamera die Fotos im JPEG-Format, das einen gravierenden Nachteil besitzt: Um eine hohe Kompression zu erreichen, wirft JPEG Bildinformationen über Bord. Das rächt sich, sobald Sie weitere Filter und Effekte auf die Fotos loslassen. Haben Sie Pech, hinterlassen diese Änderungen unerwünschte Artefakte im Bild. Wollen Sie die Urlaubsfotos also noch nachbearbeiten, wandeln Sie diese zunächst in ein unkomprimiertes Format um. Fotografen mögen etwa das TIFF-Format, zu dem der Befehl convert bild.jpg bild.tiff verhilft. Um viele Dateien in einem Rutsch zu überführen, hilft ein Shell-Befehl:
$ for i in *.jpg; do convert $i $(basename $i .jpg).tiff; done
Für jede Datei mit der Endung .jpg schneidet die Shell dem Dateinamen die Endung ab, hängt dafür ein .tiff an und ruft mit dem Ergebnis convert auf.
Wie alle seine Brüder aus dem Imagemagick-Paket erkennt convert das Dateiformat selbständig an der Endung. Jedes Programm weiß automatisch, dass es sich bei bild.jpg um ein Foto im JPEG-Format handelt. Benötigen Sie eine exotische Endung, weil die konvertierte Datei etwa exot.exo heißen soll, stellen Sie das Format einfach dem Dateinamen voran:
$ convert bild.jpg TIFF:exot.exo


