Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Shopping
Yatego Deutschlands größte Shoppingmall. 7000 Shops,
2.5 Mio Artikel. Alle Bestseller, Gutscheine und Liveshopping.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Bei inkpool.de Laserdrucker und mehr bestellen.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs


user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2003  »  09  »  Foto-Labor  

RSS-Feed der aktuellen News von Linux-Magazin Online
Diesen Artikel drucken Diesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren

Gimp mit Perl automatisieren

Foto-Labor

von Michael Schilli
Erschienen im Linux-Magazin 2003/09

Gimp, das GNU Image Manipulation Program, verbessert und manipuliert digitale Bilder mit anspruchsvollen Filterfunktionen. Statt immer wieder die gleichen Manöver mit der Maus auszuführen, lassen sich die Vorgänge mit Gimps Perl-Schnittstelle sogar automatisieren.

Kürzlich stolperte ich über die Webseite des Fotofachmanns Eric Jeschke, der auf[2] allerlei Tricks beschreibt, um digitale Fotos mit Gimp[1] zu verbessern. Das auf Linux frei erhältliche Fotobearbeitungsprogramm entfernt die roten Blitzaugen, reduziert eine zu starke Tiefenschärfe und Bildregionen werden nachbelichtet oder abgewedelt, wie man im Fotolaborjargon sagt, und was es der Gimmicks mehr gibt.

Perl für Gimp-Füchse

In[3] findet sich eine zwar kurze, aber einigermaßen gelungene Einführung in Gimps Perl-Schnittstelle. Marc Lehmann hat diese Erweiterung als Alternative zu Gimps Script-Fu geschrieben, sie ist ein Bestandteil der Source-Distribution. Damit kann ein Perl-Skript neue Menüs in Gimp einfügen, sonst per Maus ausgelöste Aktionen automatisieren und ungehemmt Bilddaten manipulieren.

Eines der Rezepte auf[2] erklärt, wie man ein Bild mit wenigen Handgriffen dramatischer oder traumartiger aussehen lässt. Die einzelnen Schritte sind:

  • Das Bild in Gimp laden und den »Layers«-Dialog
    öffnen.
  • Die erste Ebene in eine zweite kopieren (Duplizieren-Icon am
    unteren Rand des Dialogs) und den Modus »Overlay«
    wählen.
  • Die Farben mittels »Image | Colors | Levels« leicht
    aufhellen.
  • Die durch den Overlay entstandenen Ecken per »Filters |
    Blur | Gaussian Blur«-Unschärfe mit dem Radius 20
    abrunden.

Der Effekt ist erstaunlich, Abbildung 1 zeigt das Original und die Gimp-Fälschung[4]. Wendet man das Verfahren jedoch ein paarmal von Hand auf verschiedene Fotos an, ermüden schnell die Finger und eine innere Stimme ruft lautstark nach einem Skript.

Das im Folgenden vorgestellte Skript »dreamify« funktioniert sowohl als Gimp-Plugin, das Gimp mit einem neuen Menüpunkt anreichert und seine Spielchen mit dem gerade geladenen Bild treibt, als auch von der Kommandozeile aus: »dreamify test.jpg« lädt das Bild im JPEG-Format, führt die eben beschriebenen Manipulationen aus, lässt anschließend die beiden Ebenen durch »Layers | Flatten Image« kollabieren und schreibt das Ergebnis im PNG-Format nach »test.png«.

In Perl geschriebene Gimp-Plugins binden zwei Module ein:

use Gimp qw(:auto);
use Gimp::Fu;

Das erste Modul-Tag »:auto« ist optional, es importiert alle verfügbaren Gimp-Bibliotheksfunktionen praktischerweise in den Namensraum des Skripts und definiert nützliche Konstanten.

Die Plugin-Skripte müssen die »register()«-Funktion aufrufen, um das Plugin in Gimp zu registrieren. Die Funktion legt fest, unter welchem Menüpunkt es hängt, und definiert, was passiert, wenn der Anwender darauf drückt, und gibt zudem eine kurze Beschreibung für die Online-Hilfe. Das Plugin-Skript sollte am Ende mit »exit main;« wieder die Kontrolle an Gimp zurückgeben, das es während des Startvorgangs ausführt und sich die vorgenommenen Einstellungen zur weiteren Verwendung merkt.


Abbildung 1: Original und Fälschung: Links eine triste Straßenszene in San Franciscos Stadtviertel Soma (South of Market). Rechts die gefilterte Fassung, die dem Bild eine dramatischere Note verleihen soll. Sie besteht aus zwei Ebenen, die per Overlay-Technik kombiniert sind.

Menü oder Kommando

Wenn Gimp das Plugin beim Hochfahren aufruft, gibt es ihm Parameter der Form

-gimp 9 8 -query 0

mit. Das nutzt Zeile 19 in »dreamify« (Listing 1) aus um festzustellen, ob der Aufruf von Gimp oder von der Kommandozeile kam. Im ersten Fall beginnt das Plugin damit, das aktuelle Bild zu bearbeiten. Von der Kommandozeile aus aufgerufen lädt das Skript hingegen erst die als Argument angegebene Datei im JPEG-Format und schreibt das Ergebnis nach getaner Arbeit als PNG-Bild auf die Festplatte.

Damit Gimp auf dem aktuellen Bild operiert, wenn der Benutzer den »Dreamify«-Eintrag im Menü auswählt, legt die Zeile 21 den String »"<Image>/Perl-Fu/Dreamify"« in der Variablen » ab. Diese Variable teilt später der »register«-Methode mit, wo sie den Eintrag aufhängen soll.

Im Falle eines Kommandozeilen-Aufrufs bleibt » auf dem in Zeile 16 gesetzten Wert »"<Toolbox>/Xtns/Mike/ Dreamify"«, denn obwohl Gimp in diesem Fall gar kein Menü anlegen muss, besteht es auf einem gültigen Eintrag. Der »<Image>«-Eintrag von oben würde hier nur eine wüste Fehlermeldung verursachen. Zeile 24 speichert den Namen der Bilddatei in ». Fehlt der Name, dann verzweigt Zeile 25 zur POD-Dokumentation und bricht das Skript ab.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Diese Seite zu Mister Wong hinzuf�gen Webnews yigg it! Slashdot it! Twittern!
Ähnliche Artikel
Alter geht vor Schönheit Perl automatisiert Bildverarbeitung mit Gimp
Hinterm Horizont GPS-Daten mit Perl auswerten und online in Karten einblenden
Gepackte Koffer Skripte zur Arbeitserleichterung und ein Archiv-Modul
Ich sehe dich Einbrüche im High Interaction Honeynet beobachten
PDF nach Maß PDF-Dateien unter Linux konvertieren und bearbeiten
Farbenspiel Ein Perl-Skript als Retuscheur
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)
 

Impressum |Datenschutzerklärung | © 2010Linux New Media AG
Partner-Sites
Deutschland: [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]