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 1080×720 Pixel zugrunde:
Beispiel 1
Das Ausgangsbild soll auf eine Größe von 1400×550 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:
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.
- 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:
- Im Tab Output noch wählen wohin mit dem Ergebnis, neues Bild bietet sich dort meist an.
Ergebins Liquid Rescale:
Beispiel 2:
Das selbe Ausgangsbild von 1080×720 Pixel soll nun auf eine Größe von 600×400 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:
Wie die Ebene mit den zu erhaltenden Bereichen ist auch diese bei den Plugin-Einstellungen anzugeben, diesmal unter Discard features:
Auch hier kann sich das Ergebnis durchaus sehen lassen:
Nettes Detail am Rande:
Das Plugin gibt auf Wunsch einen Teil der verwendeten Seams auf einer eigenen Ebene aus:
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.














