Aus LinuxUser 03/2011

Bilddaten automatisiert bearbeiten (Seite 2)

Listing 3

#!/bin/bash
for bilddatei in `find . -type f -print`
 do
  # Name und Dateityp ermitteln und prüfen
  bilddatei=`echo $bilddatei | cut -c3-`
  dateiname="$bilddatei"
  dateityp=`file $bilddatei | awk '{print $2}'`
  case "$dateityp" in
   png|PNG)
    ausgabeformat="jpg"
    ausgabedatei="$dateiname.$ausgabeformat"
    echo "Wandle um: $bilddatei nach $ausgabedatei"
    convert "$bilddatei" "$ausgabedatei";;
  esac
 done

Effekte

Listing 4 versieht Ihre Bilder mit einem erstaunlich echt wirkenden Polaroid-Effekt. Es erzeugt dazu ein maximal 500 Pixel großes Bild mit hellviolettem Rand und schwarzem Hintergrund. In die Aufnahme schreibt es in 12 Punkt Schriftgröße den Dateinamen. Das Bild löst mit 96 dpi auf und sieht damit auch auf größeren Bildschirmen noch gut aus (Abbildung 3).

Listing 4

$ convert -size 500x500 bild.jpg -thumbnail 500x500 -set caption '%t' -bordercolor Lavender -background black -pointsize 12 -density 96x96 +polaroid -resize 50% polaroid.png
Abbildung 3: Ein Kommandozeilenaufruf reicht, um ein gewöhnliches Bild in eine Pseudo-Polaroid-Aufnahme zu verwandeln.
Abbildung 3: Ein Kommandozeilenaufruf reicht, um ein gewöhnliches Bild in eine Pseudo-Polaroid-Aufnahme zu verwandeln.

Daneben eignet sich Convert auch dazu, Bilder mit einem Rahmen zu versehen. Als Parameter benötigen der Befehl die Farbe und Breite des Rahmens, die Sie mit -mattecolor und -frame festlegen. Für einen einfachen, schwarzen Rahmen mit einer Breite von 5 Pixeln für alle Kanten verwenden Sie das Kommando

$ convert -mattecolor black -frame 5x5 bild.png bild-gerahmt.png

Die Farben geben Sie entweder als RGB-Farbcode mit und ohne Alphakanal oder als Namen an. Die Benennung für Schwarz lautet black, alternativ rgb(0,0,0) oder #000. Eine vollständige Liste der möglichen Farbwerte mit den entsprechenden Farbanteilen in hexadezimaler Schreibweise zeigt das Kommando convert -list color (Abbildung 4). Die linke Spalte enthält die Farbbezeichnung, die mittlere die Farbanteile als Dezimalwert zwischen 0 und 255. Die rechte Spalte gibt das definierte Bildformat des Farbwerts an.

Abbildung 4: Imagemagick bietet mehrere Möglichkeiten, Farben zu benennen.
Abbildung 4: Imagemagick bietet mehrere Möglichkeiten, Farben zu benennen.

Die Anzahl der Pixel legt die Rahmenbreite (-frame) fest. 5x5 definiert gleichmäßig 5 Pixel für Höhe und Breite. Damit der Rahmen dreidimensional erscheint, ergänzen Sie die Angabe um +2+2. Je größer die beiden Werte ausfallen, desto stärker wirkt die Schattierung (Abbildung 5). Der komplette Befehl lautet:

$ convert -mattecolor black -frame 5x5+2+2 bild.png bild-gerahmt.png
Abbildung 5: Imagemagick rahmt Ihre Bilder beliebig ein, und sorgt mit einer Schattierung darüber hinaus für einen 3D-Effekt.
Abbildung 5: Imagemagick rahmt Ihre Bilder beliebig ein, und sorgt mit einer Schattierung darüber hinaus für einen 3D-Effekt.

Bei größeren Abbildungen fällt ein Rahmen mit einer Breite von 5 Pixeln nicht besonders auf. Um ihn deutlicher hervorzuheben, experimentieren Sie ein wenig mit der Rahmenbreite und der Schattenangabe. Die Erfahrung zeigt, dass bei einer Bildgröße von rund 2000 x 1500 Pixeln eine Rahmenbreite von 20 Pixeln und ein Schattenwert von 8 Pixeln passable Ergebnisse erzielt.

Alle bisherigen Bildtransformationen erzeugten stets eine Kopie des Originals. Möchten Sie Originaldaten verändern, ersetzen Sie den Aufruf convert durch mogrify, der die identischen Parameter verwendet.

Vorschaubilder erzeugen

Benötigen Sie verkleinerte Vorschaubilder Ihrer Aufnahmen, dann starten Sie Imagemagick oder Graphicsmagick mit dem Parameter -resize. Die Aufrufe aus Listing 5 erzeugen Bilder mit einer maximalen Breite von 100 Pixel. Das Kommando behält das Seitenverhältnis des Originalbildes bei und rechnet die Höhe des Vorschaubildes entsprechend um.

Listing 5

$ convert -resize 100x100 bild1.jpg thumb1.jpg
$ gm convert -resize 100x100 bild2.jpg thumb2.jpg

Es fallen zwei signifikante Unterschiede zwischen den beiden Werkzeugen auf: erstens in der Dateigröße der erzeugten Vorschaubilder, zweitens hinsichtlich der Verarbeitungszeit. Imagemagick erzeugt bei gleicher Auflösung und Bildgröße wesentlich größere Dateien als Graphicsmagick und benötigt dafür auch ein Viertel bis ein Drittel mehr Zeit. Einen Einfluss auf die Bildqualität lässt sich aber nicht feststellen.

Ausblick

Der Artikel zeigt einen kleinen Einblick, welche Möglichkeiten der Bildbearbeitung die Tools für die Kommandozeile bieten. Sie bringen gut dokumentierte Bibliotheken mit, die sich auch zum Ansteuern mit Skripten eignen. Teil 2 der Reihe zeigt Ihnen, welches Potenzial diese Bibliotheken enthalten und wie Sie diese einsetzen. 

Infos

[1] Imagemagick: http://www.imagemagick.org

[2] Graphicsmagick: http://www.graphicsmagick.org

[3] Graphicsmagick bei Flickr: John Allspaw, „Operational Efficiency Hacks“, http://www.kitchensoap.com/2009/04/03/slides-from-web20-expo-2009-and-somethin-else-interestin/

[4] Libtiff: http://libtiff.maptools.org

[5] Pngtools: http://www.stillhq.com/pngtools

[6] Awk-Workshop: Stefan Lagotzki, „Ein Tool für alle Fälle“, LU 10/2005, S. 88, http://www.linux-community.de/9036

LinuxUser 03/2011 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

3 Kommentare auf "Bilddaten automatisiert bearbeiten"

  E-Mail Benachrichtigung  
Neuste Älteste Beste Bewertung
Benachrichtige mich zu:
Das Tutorial ist gut gemacht, man kann wenn man denn masochistisch veranlagt ist, viel damit machen (also mit Kommandozeile und den entsprechenden Werkzeugen…) Für Bildkonvertierung / – Bearbeitung von bspw. mehr als 5 Bildern in einem Verzeichnis fürs Web (dabei Thumbs erstellen, die Thumbs mit Rundeckenrahmen bspw. und Schatten, definierter Leinwandfarbe usw.) gibts allerdings auch ein etwas recht intuitives und „zeitgemäß“ mit der Maus zu bedienendes Werkzeug – nämlich PHATCH. Infos zum Programm unter http://photobatch.wikidot.com/ das Programm selbst kann unter http://photobatch.stani.be/ donwgeloadet werden. Ich finde diese Tool einfach genial – Photo Batch Editor – genau das macht es. 500 Bilder… Mehr »

Hi R.H.,

Phatch hat LinuxUser bereits im Foto-Schwerpunkt in Ausgabe 09/2010 ausführlich vorgestellt. Der Artikel findet sich unter http://www.linux-community.de/21720 (frei zugänglich).

Gruß,
Jörg

Hallo R. H.,

vielen Dank für deinen Hinweis. Phatch ist sehr praktisch. Gern weise ich dieses Tool nochmal hin.

Die Idee zum Beitrag ist, hinter die die Kulissen zu schauen. Das hilft zu verstehen, warum Klick-Programme funktionieren 🙂

Beste Grüße,

Frank