AA_123rf_26014553_Palette-Pinsel_Roman_Iegoshyn.jpg

© Roman Iegoshyn, 123RF

Gimp mit Plugins um neue Fähigkeiten erweitern

Aufgepeppt

Gimp beherrscht schon von Haus das volle Programm einer ausgewachsenen Bildbearbeitung. Mit zusätzlichen Skripten und Plugins erweitern Sie ihn um zahlreiche weitere komplexe Funktionen, die Sie oft nicht einmal in kommerzieller Software finden.

Um die Code-Basis von Gimp nicht ins Unermessliche aufzublähen, lagern die Entwickler viele Funktionen in externe Plugins aus: So bleibt das Programm selbst relativ schlank. Zudem bietet sich die Möglichkeit, dass auch nicht zum Kern-Team gehörende Programmierer die Plugin-Schnittstelle nutzen, um zusätzliche Funktionen in eigener Regie zu entwickeln. In LU 01/2014 [1] widmeten wir uns einer ersten Reihe nützlicher Erweiterungen, in diesem Beitrag setzen wir die Plugin-Vorstellung fort.

Plugins installieren

Gimp sucht Plugins im Home-Verzeichnis unter ~/.gimp-2.8/plug-ins/ sowie im Systemverzeichnis in /usr/lib/gimp/2.0/plug-ins/. Damit Gimp die Erweiterungen später ausführen kann, müssen Sie die manuell dort hinterlegten Dateien mit chmod +x ~/.gimp-2.8/plug-ins/* ausführbar machen. Über die Paketverwaltung in das System installierte Plugins besitzen Sie bereits die richtigen Rechte. Der Plugin-Browser aus dem Menü Hilfe zeigt bei Bedarf Informationen zu allen verfügbaren Plugins an und verrät, wo sich die Erweiterung eingenistet hat – Image steht dabei für das Bildfenster.

Viele Plugins liefern die Entwickler nur in Form von Quelltexten aus, sodass sich das Plugin schnell an unterschiedliche Plattformen anpassen lässt. Sofern die Dokumentation nichts anderes vorgibt, sollten Sie das während der Installation von Gimp mitinstallierte gimptool-2.0 für das Einspielen der Plugins nutzen.

Für die Installation von Plugins, die als C-Quelltext vorliegen, richten Sie zunächst die für den Build-Prozess nötigen Bibliotheken und Tools ein. Unter Debian und dessen Derivaten erledigen Sie das beispielsweise mit dem Aufruf apt-get install build-essential libgimp-devel. In einigen wenigen Fällen schreiben die Entwickler vor, das Plugin mittels des klassischen Dreisatzes ./configure && make && make install zu übersetzen; in aller Regel lautet der Aufruf dazu aber:

$ gimptool-2.0 --install Plugin.c

Mit der Option --build anstelle von --install bauen Sie das Plugin nur, ohne es gleich zu installieren. Per --install-admin installiert Gimptool die Plugins gleich systemweit unter /usr/lib/gimp/2.0/plug-ins/. Zusätzliche Optionen für den Compiler oder Linker lassen sich mit --cflags, --libs und --prefix=Prefix sowie --exec-prefix=Prefix anzeigen und setzen. Mit den Schaltern --uninstall-bin Plugin und --uninstall-script Skript deinstallieren Sie ein Plugin respektive ein Skript wieder.

Rescale, Texturize und Synthesize

Das Skalieren von Bildern fällt auf den ersten Blick nicht schwer, beinhaltet aber bei genauerem Hinsehen doch einige Tücken. Eine davon bezieht sich auf falsch ermittelte Gamma-Werte [2] bei älteren Gimp-Versionen. Dafür bot Imagescaler [3] seinerzeit eine akzeptable Lösung. Inzwischen arbeitet die Gamma-Behandlung von Gimp jedoch sauber [4], sodass Sie auf Imagescaler verzichten können.

Für einen anderen Aspekt beim Skalieren bietet Upsize [5] von Adam Turcotte zwei Lösungen an (Abbildung 1). Das Plugin minimiert die Artefakte beim Vergrößern von Bildern oder optimiert im Gegenzug die Schärfe. Für beides implementiert Upsize spezielle Algorithmen: Interpolatory Box Filtered Natural BiQuadratic Histosplines für weiche Übergänge und Natural BiQuadratic Histosplines für optimale Schärfe.

Abbildung 1: Das Upsize-Plugin kombiniert zwei auf Vergrößerungen spezialisierte Algorithmen.

Zur Installation von Upsize laden Sie die Quellcode-Datei upsize_0.c herunter und bauen das Plugin anschließend mittels gimptool-2.0 upsize_0.c. Der zugehörige Menüpunkt erscheint als Bild | Upsize. Wie der direkte Vergleich zeigt, treten die Effekte des Plugins durchaus sichtbar hervor (Abbildung 2).

Abbildung 2: Upsize hat links weich skaliert, rechts die Schärfe optimiert. Darunter sehen Sie die Unterschiede und das Originalbild.

Für Bilder im PPM-Format gibt es zwei eigenständige Upsize-Versionen, die auch ohne Gimp funktionieren. Den zugehörigen Quelltext finden Sie im Tarball eanbqh.tar.gz auf der Upsize-Website. Entsprechend Listing 1 installieren Sie die Version für 8 oder 16 Bit Farbtiefe. Mit den Schaltern -h, -d, -s und -p bringen Sie dann wie in Listing 2 gezeigt Ihre Bilder ins gewünschte Format.

Listing 1

$ gcc -o eanbqh8 eanbqh8.c -fomit-frame-pointer -O2 -Wall -march=native -lm
$ gcc -o eanbqh16 eanbqh16.c -fomit-frame-pointer -O2 -Wall -march=native -lm

Listing 2

$ eanbqh8 input.ppm output.ppm -h Breite
$ eanbqh8 input.ppm output.ppm -d Breite x Höhe
$ eanbqh8 input.ppm output.ppm -s Faktor
$ eanbqh8 input.ppm output.ppm -p Prozent

Speziell zum Vergrößern kleiner Bitmaps, etwa der Pixel-Art aus klassischen Computerspielen, bietet sich Scale2x [6] an. Eine Implementierung des Algorithmus gibt es auch als Plugin für Gimp [7]. Für das Zusammenstauchen von Panoramen oder Landschaftsaufnahmen kommt Liquid Rescale [8] infrage: Das Plugin erlaubt, die Breite von Bildern in ausgewählten Bereichen zu verändern, und entfernt so unauffällig unerwünschte Details aus dem Bild. So zaubern Sie zum Beispiel aus einem mäßig besuchten Strandabschnitt einen menschenleeren Traumstrand.

Dazu analysiert das Plugin das Bild so, dass es Bereiche mit minimalen Tonwertunterschieden (im Jargon des Algorithmus: "Bereiche minimaler Energie" [9]) als Linien erkennt und aus dem Bild entfernt. Diesen Trick [10] beherrscht übrigens auch das Konsolenprogramm Imagemagick.

Texturen erzeugen

Nahtlos ineinander übergehende Texturen kommen typischerweise bei Computerspielen zum Einsatz, aber auch für Retuschen und Fotomontagen sind flächendeckende Muster nützlich. Früher suchten Fotografen in der Natur so lange nach geeigneten Motiven, bis sie das gewünschte Muster in ausreichender Größe fanden. Danach vergrößerten sie die Textur durch Mischen verschiedener Teile des Musters.

Abbildung 3: Nur sehr wenige Parameter steuern das Texturize-Plugin: Width definiert die Zielbreite, Height die Höhe und Overlap die Überlappung der Teilmuster. Tileable bestimmt die Randgestaltung und erzeugt nahtlose Muster.

Heute übernehmen spezielle Algorithmen und Plugins wie Texturize [11] die aufwendige Arbeit (Abbildung 3). Dabei gibt es einiges zu rechnen, sodass sich das Erstellen großer Muster oft über mehrere Stunden hinzieht – aus diesem Grund fehlt dem Plugin auch eine Vorschau-Funktion. Es empfiehlt sich, zunächst einmal mit kleineren Mustern zu experimentieren, bevor Sie das Plugin für großflächige Texturen einsetzen.

Als Ausgangsmaterial akzeptiert Texturize aktuell nur Bilder ohne Alphakanal. Mit einem zu den Farben des Motivs in Kontrast stehenden, eingefärbten Randbereich lässt sich dieser allerdings bei Bedarf schnell mit der globalen Farbauswahl entfernen. Hohe Werte für die Überlappung erzeugen meistens homogenere Ergebnisse, zeigen aber eine deutlichere Tendenz zur Periodizität (Abbildung 4).

Abbildung 4: Dieses Beispiel zeigt den Einfluss der Überlappung bei Texturize: Standard-Wert (100), Ausgangsbild, vergrößerte Überlappung (300).

Einen ähnlichen Ansatz wie das Texturize-Plugin verfolgt der Resynthesizer [12]. Er entfernt unerwünschte Objekte aus dem Bild, indem er automatisch die umgebenden Bildinformationen ergänzt. Zudem kann Resynthesizer Texturen quasi beliebig vergrößern und Texturen eines Bilds auf ein anderes übertragen.

Nach der Installation trägt sich Resynthesizer unter Filter | Abbilden ins Gimp-Menü ein. Unter Output wählen Sie, ob Resynthesizer eine horizontal oder vertikal ausgerichtete Textur nutzen soll, oder ob nur die an die Auswahl angrenzenden Pixel in die Berechnung einfließen sollen (Abbildung 5). Die Auswirkung der einzelnen Parameter zeigt Abbildung 6.

Abbildung 5: Die Standard-Maske von Resynthesizer stellt in zwei Fenstern viele Funktionen bereit. Die Optionen unter Tweaks steuern den Algorithmus im Detail.
Abbildung 6: Der Resynthesizer in Aktion: oben das Originalbild, daneben ein mit der Option Fit output to bordering pixels generiertes Bild. Unten: Make horizontable tileable und Make vertically tileable, rechts zusammen mit Fit output to bordering pixels.

Die weiteren Funktionen stehen über mehrere Skripte zur Verfügung: smart-sharpen nutzt den Synthesizer, um das Bild zu schärfen. smart-enlargen verkleinert oder vergrößert Bilder, smart-remove entfernt Bildteile (Abbildung 7). Dieses Skript wenden Sie auch über den Menüpunkt Filter | Verbessern | Heal Selection... auf eine Auswahl an. Die auf GitHub gehostete Version [13] des Plugins enthält einige zusätzliche Erweiterungen.

Abbildung 7: Heal Selection entfernt Objekte aus dem Bild. Zurück bleiben nur geringe Artefakte, die nur im direkten Vergleich auffallen. Mit ein wenig Nacharbeit entfernen Sie auch diese.

Mit Interpolate [14] finden Sie noch ein weiteres Plugin, das sich auf das Entfernen von Bildteilen spezialisiert hat. Auf der Homepage liefert Ihnen eine ausführliche Anleitung erste Hilfe bei der Bedienung des Plugins [15].

Perspektivische Korrekturen, etwa bei Landschafts- oder Architekturaufnahmen, nehmen Sie normalerweise mit den entsprechenden Werkzeugen von Gimp vor. Für bessere Resultate und spezielle Aufgaben greifen Sie zu EZ Perspective [16], einer etwas anders arbeitenden Variante des Perspektiv-Plugins (Abbildung 8). EZ Perspective verzichtet allerdings auf eine Vorschau, sodass Sie die optimalen Parameter über Versuch und Irrtum bestimmen müssen.

Abbildung 8: Die Perspektivkorrektur EZ Perspective erzeugt gute Ergebnisse, lässt bedienungstechnisch allerdings zu wünschen übrig.

Nutzen Sie dafür am besten die Tastenkombinationen [Strg]+[Z] und [Strg]+[Y], um die letzte Aktion wieder rückgängig zu machen oder wiederherzustellen. Zum Ändern der Parameter rufen Sie mit [Strg]+[Umschalt]+[F] den Dialog des zuletzt genutzten Plugins erneut auf, dort navigieren Sie dann am einfachsten mit der Tabulatortaste und [Pfeil-rechts] beziehungsweise [Pfeil-links] durch das Menü. Für erste Versuche verwenden Sie fast als Qualität, bis Sie das finale Ergebnis mit good in hoher Qualität berechnen lassen.

Beim Einsatz der Perspektivkorrektur sollten Sie nun im ersten Schritt die Brennweite im Feld focal length (35mm quivalent) eintragen. Den Wert dazu liefert Gimp unter Datei | Eigenschaften | Erweitert  oder die Ausgabe von Exiftool. Danach ermitteln Sie den vertikalen Kipp- und den horizontalen Gierwinkel sowie den Rotationsgrad. Dabei hilft ein Gitter, das Sie über View | Show grid aktivieren.

Generell sollten Sie allerdings vor jeglicher Perspektivkorrektur die durch das Objektiv verursachte kissen- und tonnenförmige Verzerrung entfernen. Dazu greifen Sie entweder auf den Gimp-Filter Verzerren | Objektivkorrektur zurück oder installieren das Plugin GimpLensfun [17]. Es zieht im Normalfall die benötigten Daten aus den Exif-Informationen (Abbildung 9) und entfernt automatisch die durch das Objektiv erzeugten Verzerrungen (Abbildung 10).

Abbildung 9: GimpLensfun erlaubt eine weitgehend automatische Korrektur der durch das eingesetzte Objektiv verursachten kissen- und tonnenförmigen Verzerrungen.
Abbildung 10: Die Unterschiede zwischen dem mit Lensfun entzerrten Bild und dem Original treten hervor, sobald Sie die Bilder übereinanderlegen und die Differenz errechnen lassen. Mit zunehmendem Abstand von der Bildmitte wächst die Verzerrung.

Zum Korrigieren der Verzerrungen stellen Sie die erforderlichen Parameter ein und wählen dann im unteren Bereich die gewünschten Korrekturen aus. Scale to fit schneidet das Bild nach der Korrektur auf die ursprüngliche Größe zu. Distortion korrigiert die Verzeichnungen, Vignetting die Randabschattung. Mit Chromatic Aberration reduzieren Sie Farbränder an den Kanten des Objekts.

GimpLensfun verwendet eine Datenbank, die Korrekturdaten für viele Objektive vorhält, sodass Sie sehr selten manuell Daten eintragen müssen. Finden sich die Werte für das eingesetzte Objektiv nicht in der Datenbank, dann freuen sich die Entwickler des Plugins über Ihre Mithilfe beim Ergänzen der Datensammlung [18]. Die jeweils aktuelle Version der Datenbank steht auf der Lensfun-Homepage [19] zum Herunterladen bereit.

Beachten Sie jedoch, dass viele RAW-Konverter beim Entwickeln von RAW-Bildern ebenfalls objektivbedingte Verzerrungen korrigieren – Sie sollten die Verzerrungen nicht doppelt behandeln.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

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

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

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

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...