Liquid Rescale unter GIMP

Liquid Rescale unter GIMP
23.08.2010 13:35

Heute zeige ich, wie man Bilder effektiv und unter Berücksichtigung der Bildinhalte skalieren kann. Verwendet wird dafür das Liquid Rescale GIMP-Plugin.

Hintergrund

Das Liquid Rescale GIMP-Plugin basiert auf dem 2007 vorgestellten Seam-Carving-Algorithmus. Dabei werden in horizontaler sowie vertikaler Richtung jene Wege durch das im Bild bestimmt, die möglichst wenig Einfluss auf den Informationsgehalt des Bildes haben. Diese werden beim Verkleinern dann als erstes weggelassen bzw. beim Vergrößern als erstes dupliziert. Zusätzlich ist es sowohl möglich, Bereiche im Bild zu definieren, die auf jeden Fall erhalten bleiben sollen als auch solche, die bevorzugt entfernt werden sollen.

Ariel Shamir, einer der beiden Autoren, hat das entsprechende Paper sowie ein anschauliches Viereinhalb-Minuten-Video zum Thema auf seiner Webseite unter http://www.faculty.idc.ac.il/arik/site/seam-carve.asp bereitgestellt.

Installation

Unter der Webseite des Plugins, http://liquidrescale.wikidot.com/ sind Informationen zu Binärpaketen für unterschiedliche Distributionen sowie eine kurze Kompilieranleitung zu finden. Bei Debian/Ubuntu ist das Plugin auch im Paket gimp-plugin-registry enthalten. Nach der Installation ist es im Menü Ebene unter Liquid rescale... zu finden.

Beispiele

Sämtlichen Arbeitsschritten liegt das folgende Bild mit einer Größe von 1080x720 Pixel zugrunde:

Ausgangsbild Liquid Rescale

Beispiel 1

Das Ausgangsbild soll auf eine Größe von 1400x550 Pixel skaliert werden. Der GIMP-Befehl Bild - Bild skalieren lässt sich dafür natürlich nicht sinnvoll einsetzen, viel zu deutlich sind die Verzerrungen sichtbar:

Bild Skalieren

Unter Verwendung des Liquid Rescale Plugins funktioniert das hingegen so:

  • Hilfsebene erzeugen, in der mit weißer Farbe zu erhaltende Bildbereiche markiert werden, im vorliegenden Beispiel die fünf Steinböcke.
Liquid Rescale Vorbereitungen
  • Darauf achten, dass die Bildebene und nicht die Hilfsebene selektiert ist und das Plugin aufrufen.
  • Bei den zu erhaltenden Bereichen (Preserve features) die entsprechende Ebene wählen:
Liquid Rescale Einstellungen
  • Im Tab Output noch wählen wohin mit dem Ergebnis, neues Bild bietet sich dort meist an.

Ergebins Liquid Rescale:

Liquid Rescale Ergebnis

Beispiel 2:

Das selbe Ausgangsbild von 1080x720 Pixel soll nun auf eine Größe von 600x400 Pixel reduziert werden. Um die Reduktion der Höhe zu ermöglichen, soll das zweite Tier von unten vom Bild entfernt werden. Dabei wird wie oben beschrieben vorgegangen, nur dass zusätzlich eine Ebene mit den zu entfernenden Bildbereichen vorbereitet wird:

Liquid Rescale Vorbereitungen Beispiel 2

Wie die Ebene mit den zu erhaltenden Bereichen ist auch diese bei den Plugin-Einstellungen anzugeben, diesmal unter Discard features:

Liquid Rescale Einstellungen Beispiel 2

Auch hier kann sich das Ergebnis durchaus sehen lassen:

Liquid Rescale Ergebnis Beispiel 2

Nettes Detail am Rande:

Das Plugin gibt auf Wunsch einen Teil der verwendeten Seams auf einer eigenen Ebene aus:

Liquid Rescale Seams

Vergleich mit Photoshop

Die auf dem selben Algorithmus basierende Funktion in Photoshop heißt Content-Aware Scale bzw. Skalieren (Inhalt bewahren) auf Deutsch. Dort ist die Funktion allerdings deutlich weniger umfangreich weshalb es mir auch nicht gelang ähnlich gute Ergebnisse zu erzielen. Die Möglichkeit, Bereiche zu definieren welche entfernt werden sollen konnte ich zum Beispiel nicht finden. Dieser Punkt geht eindeutig an die Open-Source-Welt würde ich sagen.


Kommentare

Infos zum Autor

Wolfgang Kerschbaumer

Wolfgang Kerschbaumer

Sommer-Spezial 2010-Teilnehmer.
Student (Interactive Media) und Einzelunternehmer im Bereich Print/Web.

Noch hauptsächlich OS X in Verwendung, Umstieg auf Linux aber im Gange.

GIMP-Profi in spe ;)

Externes privates Weblog: http://wolke23.at

Zum Blog von Wolfgang Kerschbaumer →