Beschneiden mit Convert

Zum Beschneiden von Bildern verwendet Convert den Parameter -crop, gefolgt von einer Größenangabe, die sich aus der Ausschnittsgröße und der Startposition zusammensetzt. So führt beispielsweise der Befehl:

$ convert bild-alt.jpg -crop 500x300+0+0 bild-neu.jpg

dazu, dass Convert aus dem Ursprungsbild eine Auswahl von 500 Punkten nach rechts und 300 Punkten nach unten ausschneidet und dabei an der Postion 0/0 beginnt, was der linken oberen Ecke des Bilds entspricht (Abbildung 2). Dagegen schneidet das Kommando:

$ convert bild-alt.jpg -crop 500x300+300+100 bild-neu.jpg

erst 300 Bildpunkte rechts und 100 Bildpunkte unterhalb der linken oberen Bildecke eine Auswahl von 500 mal 300 Punkten aus (Abbildung 3).

Abbildung 2: Das Beschneiden von Bildern gehört zu den leichtesten Übungen von Convert.
Abbildung 3: Jeder Ausschnitt lässt sich durch Angeben von Offsets an einer beliebigen Stelle im Bild platzieren.

Der Parameter -crop weist noch einige Besonderheiten auf. Lassen Sie beispielsweise die Positionsangabe weg, erzeugt er so viele durchnummerierte Ergebnisbilder, wie mit dem vorgegebenen Ausschnitt in X- und Y-Richtung ins Originalbild passen (Abbildung 4).

Abbildung 4: Mit -crop können Sie ein Bild auch in mehrere Teile zerlegen.

Die Option -gravity erlaubt, den Ursprung zur Berechnung des Offsets zu verschieben. Als Vorgabe fungiert dabei 0/0 (oben links), daneben gibt es die Angaben NorthWest, North, NorthEast, West, Center, East, SouthWest, South sowie SouthEast. Der Befehl:

$ convert bild-alt.jpg -gravity Center -crop 50%+0+0 bild-neu.jpg

ließe sich beispielsweise dazu einsetzen, das Resultat aus Abbildung 5 zu erzielen.

Abbildung 5: Mit der Option -gravity verschieben Sie den Ursprung für einen Bildausschnitt.

Der Vollständigkeit halber sei noch die Option +repage erwähnt, die Sie korrekterweise noch anfügen müssen, weil sonst beim Beschneiden mit -crop die Werte für canvas und offset im Header des Bildes falsch erhalten bleiben.

Selbstverständlich können Sie die oben gezeigte Formatumwandlung sowie das Skalieren und Beschneiden, wie alle Convert-Optionen, auch in einem Befehl kombinieren.

Stapelverarbeitung

Möchten Sie die genannten Operationen auf 100 oder mehr Fotos anwenden, kommen die Fähigkeiten der Shell ins Spiel. Im folgenden Beispiel schreiben wir die verkleinerten Ausgangsbilder in einen zuvor angelegten separaten Ordner (fotos-small/), damit die Originalbilder erhalten bleiben. Das Szenario lässt sich wahlweise mit eine For- oder While-Schleife umsetzen:

$ for i in .jpg; do convert $i -resize 1280x960 -gravity SouthWest -crop 1024x768+0+0 +repage fotos-small/$i; done

Das Kombinieren von -resize, -crop und -gravity bietet sich insbesondere dann an, wenn Sie eine große Anzahl von Bildern etwa für einen Web-Katalog normieren müssen. In einem Szenario aus dem Bereich Produktmanagement sah sich der Autor beispielsweise mit der Situation konfrontiert, Produktbilder eines Fahrradherstellers für einen Online-Katalog in ein einheitliches Format zu bringen, wobei die vom Hersteller gelieferten Bilder nicht durchgängig das gleiche Format besaßen. Außerdem war beim Fotografieren nicht immer der gleich Ausschnitt und die gleiche Perspektive gewählt worden. Die Ausgangsbilder sollten am Ende ausnahmslos über einen Rand verfügen, damit sie sich sich optisch gut in das Layout des Katalogs einfügten.

Als Lösung wurden die Bilder zunächst mit -resize in ein einheitliches Format gebracht, das geringfügig größer als das Zielformat ausfiel. Nach Festlegen eines neuen Koordinatenursprungs (links unten) mit -gravity entstand durch Anwenden von -crop eine Auswahl, die in X- und Y-Richtung 10++Pixel unter dem Zielformat lag. Anschließend erhielten alle Bilder mit convert -bordercolor white -border 5 einen umlaufenden weißen Rand von 5 Pixeln.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

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

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl: Grafik-Tools aus ImageMagick
    Gimp ist das Standardprogramm, wenn es um anspruchsvolle Bildbearbeitung geht. Doch viele Aufgaben, wie Größenänderung und Formatkonvertierung, erledigen Sie auch schnell auf der Kommandozeile.
  • Zügiger Wechsel
    Manchmal muss man einen ganzen Schwung Bilder am Stück konvertieren. Hier macht ExactImage dem traditionellen ImageMagick Konkurrenz.
  • Grafiken schnell passend gemacht
    Sei es für die Verwendung innerhalb von Web-Seiten oder andere Zwecke: Häufig müssen Grafiken von einem Format in ein anderes konvertiert und dabei noch in Größe und Qualität verändert werden. Mit convertaus dem ImageMagick-Paket machen Sie das schnell auf der Kommandozeile.
  • Weniger ist mehr
    Das ursprünglich für die automatische Bildaufbereitung von gescannten Bildern entwickelte ExactImage lässt sich auch im Alltag an verschiedenen Stellen nutzbringend einsetzen.
  • Profi-Funktionen von ImageMagick nutzen
    Vom Konvertieren von Negativen bis hin zum PDF fürs Fotobuch – mit ImageMagick und ein paar Zeilen Shell-Code meistern Sie jede Aufgaben ruck, zuck auf der Kommandozeile.
Kommentare

Infos zur Publikation

LU 06/2015: Shell-Tools

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

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Zu wenig Speicherplatz auf /boot unter MATE
Patrick Obenauer, 25.05.2015 14:28, 0 Antworten
Hallo zusammen, ich habe Ubuntu 14.10 mit MATE 1.8.2 (3.16-37) mit Standardeinstellungen aufgese...
Konsole / Terminal in Linux Mint 17.1 deutsch
Dirk Resag, 09.05.2015 23:39, 12 Antworten
Hallo an die Community, ich habe vor kurzem ein älteres Notebook, Amilo A1650G, 1GB Arbeitsspe...
Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...