Linux Bibel online

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Österreich Lizenz.

Change language by Google translator: ...

Wie stellt sich der Nutzer, egal unter welchem Betriebssystem Bildbearbeitung vor? Ganz einfach, grafische Software wie GIMP, Krita, Photoshop oder welche auch immer starten, Bild darin öffnen, Werkzeug wählen und bearbeiten, retuschieren oder welche Aufgabe man eben vor hat, die Effekte kontrollieren, Datei speichern und fertig. Die andere Geschichte ist Imagemagick, mit dieser Software lassen sich Bilder auf dem Terminal bearbeiten, manche Nutzer mögen sich nun fragen wie man dies wohl anstellen könnte, so ohne Maus, Pinsel und Co, andere wozu dies gut sein soll wenn es auf der grafischen Oberfläche viel einfacher und bequemer ist. Die Antwort ist wie unter Linux so oft - weil man damit mehr machen kann als auf der grafischen Oberfläche, weil man damit viele Bilder auf einen Schlag bearbeiten kann, weil man die ganze Bearbeitung automatisieren kann.
So lassen sich etwa Bilder die auf einen Server hoch geladen werden automatisiert mit Wasserzeichen versehen, Thumbnails anfertigen und was auch immer ohne das dabei jemand Hand anlegen muss. In diesem Beitrag werden wir nun die grundlegende Arbeit mit Imagemagick näher kennen lernen.

Imagemagick installieren

Wie üblich installieren Sie die Software unter auf Debian basierenden Systemen zu denen natürlich auch Ubuntu, Kubuntu, Linux Mint und so viele weitere gehören ganz einfach über die Paket-Verwaltung durch das Paket "imagemagick".

Imagemagick nutzen

Als erstes müssen wir uns ein wenig um die graue Theorie kümmern denn Imagemagick ist nicht eine einzelne Software sondern eine Sammlung aus Anwendungen die wir uns nun näher ansehen werden.

  • convert - Mit dieser Anwendung lassen sich Bilder bearbeiten, grundlegend kann man sagen die Software liest von Ihnen vorgegebene Bilder ein, erstellt Kopien davon die dann bearbeitet werden. Die Original-Dateien werden also nicht verändert.
  • mogrify - Wie "convert", bearbeitet jedoch die Original-Dateien
  • composite - Legt mehrere Bilder übereinander, überlagert diese, fügt mehrere Bilder zu einem zusammen
  • montage - Erstellt aus zwei oder mehreren Bildern eines, ähnlich einer Collage
  • import - Erstellt Screenshots, also etwa von der Arbeitsfläche, einzelnen Fenstern oder Bereichen am Desktop
  • compare - Vergleicht zwei Bilder und gibt deren Unterschiede aus
  • identify - Gibt Informationen über Bilder aus
  • animate - Gibt mehrere Bilder hintereinander aus, ähnlich einer Diashow oder einem Film
  • display - Zeigt das vorgegebene Bild grafisch an, wie ein Bildbetrachter
  • conjure - Führt Scripte in der Imagemagick eigenen Script-Sprache aus
  • stream - List Teile aus Bildern aus und gibt diese wieder
  • Nun wollen wir uns die einzelnen Anwendungen etwas genauer ansehen, was diese können und wie man mit diesen arbeitet, einige Beispiele ansehen. Alleine Convert kennt schon über zweihundert Funktionen / Optionen - deshalb werde ich natürlich nicht jede beschreiben, für jede Anwendung findet sich zur Hilfe auf dem Terminal eine eigene Manpage die jede Funktion erläutert.

    Convert & Mogrify

    Wie schon beschrieben bearbeitet Convert nicht die originalen Bilder sondern erstellt Kopien dieser und bearbeitet dann diese Kopien, Mogrify hingegen bearbeitet dagegen direkt die Originale - beide Anwendungen können dasselbe, deshalb werde ich diese beiden Anwendungen nicht extra beschreiben. Nun werden wir uns einfach einige Beispiele ansehen.
    Genutzt wird Convert in folgender Syntax:

    convert original.jpg optionen neu.jpg

    Die selbe Geschichte mit Mogrify:

    mogrify optionen bild.jpg

    Nun wollen wir ganz einfach einmal ein Bild mit Convert in ein anderes Format konvertieren, also beispielsweise das Bild "original.jpg" in "neu.png", hierzu brauchen wir nicht einmal eine Option:

    convert original.jpg neu.png

    Das Original, also "original.jpg" bleibt erhalten und die neue Datei "neu.png" wird erstellt. Die selbe Geschichte mit Mogrify - in diesem einzigen Fall - dem Konvertieren von Bildern wird das Original nicht von Mogrify durch die neue Datei ersetzt. Auch hier will ich wieder die Datei "original.jpg" in die Datei "original.png" konvertieren:

    mogrify -format png original.jpg

    Man nutzt also die Option "-format", gibt das Datei-Format an in das konvertiert werden soll und dann die zu konvertierende Datei, das Original bleibt wie schon beschrieben in diesem Fall erhalten. Nun wollen wir mit Mogrify gleich alle Bilder im selben Verzeichnis mit dem Format ".jpg" in das Format ".png" konvertieren, hier ist bei Mogrify der Vorteil zu Convert das man nicht lange herum spielen muss, Mogrify erstellt von jeder Datei einfach eine Datei mit dem selben Namen aber natürlich mit dem neuen Format wobei die Originale erhalten bleiben, hier nutzt man einfach den Platzhalter "*" um alle Dateien anzugeben:

    mogrify -format png *.jpg

    Um die selbe Geschichte mittels Convert zu erledigen - also alle Bilder im Verzeichnis in ein anderes Format zu konvertieren und den Namen beizubehalten müssen wir ein wenig tiefer in die Tasche des Terminals greifen, wieder will ich alle Bilder mit dem Format ".jpg" in das Format ",png" konvertieren:

    for i in *.jpg; do convert $i `echo $i | sed -e 's/jpg$/png/'`; done

    In beiden Fällen haben wir aber noch immer alle Dateien im selben Verzeichnis was nicht immer sinnvoll ist, als kleines Beispiel erstelle ich im selben Verzeichnis ein Unterverzeichnis mit dem Namen "Bilder_neu", in diesem Verzeichnis sollen die konvertierten PNG-Bilder nun landen:

    for i in *.jpg; do convert $i Bilder_neu/`echo $i | sed -e 's/jpg$/png/'`; done

    Im Falle von Mogrify müssen wir hier etwas schwindeln:

    mogrify -format png *.jpg; mv *.png Bilder_neu/; done

    Nun wollen wir ganz einfach einmal das Bild "Original.jpg" ein wenig skalieren, also verkleinern oder vergrößern. Hierzu gibt man einfach mittels "-resize" die neue Größe in Pixel an:

    convert Original.jpg -resize 120x120 Original_1.jpg

    Dies bedeutet nicht dass das Bild genau auf 120 mal 120 Pixel angepasst wird sondern die Diagonale beibehalten wird, nur die größte Länge wird auf 120 Pixel angepasst. Die selbe Geschichte mit Mogrify:

    mogrify -resize 120x120 Original.jpg

    Möchten wir die neuen Bilder gleich wieder in das neue Verzeichnis verschieben:

    for i in *.jpg ; do convert "$i" -resize 120x120 "Bilder_neu/$i" ; done

    Dies war nur ein kleiner Einschnitt in diese beiden Anwendungen um zu sehen wie man damit arbeitet, mehrere Beispiele finden Sie dann unten nach den restlichen Anwendungen.

    Composite

    Diese Anwendung dient wie schon beschrieben dazu zwei Bilder übereinander zu legen, also etwa auf ein großes Bild ein kleineres zu legen. So könnte man beispielsweise auf einem großen Bild mit der Front eines Autos an beliebiger Stelle ein kleineres Bild mit dessen Heck drauf legen, eine andere nette Funktion mit Composite wäre die Integration eines Wasserzeichens beliebiger Art. Composite bearbeitet wie Convert nicht das Original sondern eine neue erstellte Datei. Die grundlegende Syntax der Software:

    composite -gravity Lage kleines_Bild Original_Bild neues_Bild

    Mit "-gravity" gibt man die Lage des kleinen Bildes an das man auf dem zu erstellendem Bild integrieren will, also grob gesagt oben, unten, Mitte, ... Als kleines Beispiel habe ich hier wieder das große Bild "Original.jpg", auf diesem will ich das kleinere Bild "Logo.jpg" unten rechts einsetzen, aus dem ganzen soll dann das Bild "Bild_neu.png" werden:

    composite -gravity SouthEast Logo.png Original.jpg Bild_neu.png

    Die selbe Geschichte mit allen Bildern im Verzeichnis die ich gleich wieder in das Unterverzeichnis "Bilder_neu" verschieben möchte:

    for i in *.jpg; do composite -gravity SouthEast Logo.png $i Bilder_neu/`echo $i | sed -e 's/jpg$/png/'`; done

    Montage

    Montage bringt mehrere Bilder in ein einzelnes, führt also die gewünschten zusammen, dies kann man sich ähnlich einer Fotocollage vorstellen, besser wie einen Filmstreifen oder dem Negativ-Streifen alter Kameras. Genutzt wird Montage nach folgender Syntax:

    montage optionen Bilder neues_Bild

    Als kleines Beispiel habe ich in einem Verzeichnis einige Bilder die der Reihe nach beschriftet sind, etwa auch mit der Uhrzeit der Aufnahme, alle sollen in das neue Bild integriert werden mit dem jeweiligen Namen als Beschriftung, alle Bilder haben die Endung ".JPEG", als Ergebnis soll die Datei "Bild_neu.jpg" heraus kommen, jedes Bild soll nicht größer als "800x600" Pixel sein:

    montage -label %f -geometry 800x600+10+10 *.JPEG Bild_neu.jpg

    Hier ein kleines Beispiel um sich vorstellen zu können was damit gemeint ist:

    Beispiel für Montage aus der Imagemagick-Sammlung

    Beispiel für Montage aus der Imagemagick-Sammlung

    Import

    Diese Software dient wie schon beschrieben dazu Screenshots aufzunehmen, dazu nutzt man die Syntax:

    import optionen Dateiname

    Als kleines Beispiel für die Aufnahme eines Fensters mit dem zugehörigen Fensterrahmen:

    import -frame -silent Screenshot.gif

    Es erscheint statt dem normalen Mauszeiger ein Fadenkreuz, mit diesem klickt man auf das jeweilige Fenster, der Screenshot wird erstellt, die Option "-silent" unterdrückt den Piepton, lässt man die Option "-frame" weg wird nur der Inhalt des Fensters ohne Rahmen aufgezeichnet, will man den ganzen Desktop oder nur einen Bereich lässt man "-frame" ebenfalls weg und zieht mit dem Fadenkreuz entweder über den kompletten Desktop oder über den gewünschten Bereich. Will man eine Pause bevor man den Screenshot erstellen will - etwa fünf Sekunden passt man die folgende Option an "-pause 5".

    Compare

    Diese Anwendung dient dazu die Unterschiede zwischen zwei Bildern anzuzeigen, nehmen Sie etwa ein Bild und kopieren dieses, bearbeiten die kopierte Version mit einer Bildbearbeitung lassen sich mit Compare die Unterschiede fest stellen, die Software zeigt diese grafisch in einem weiteren Bild an. Die Syntax der Software:

    compare Datei_1.jpg Datei_2.jpg Unterschiede.jpg

    Als kleines Beispiel habe ich hier die Datei "Original.jpg" und die kopierte Version "Kopie.jpg" die ich bearbeitet habe, ich möchte die Datei "Unterschiede.jpg" erstellen in der mir die bearbeiteten Unterschiede angezeigt werden:

    compare Original.jpg Kopie.jpg Unterschiede.jpg

    Nach kurzer Zeit wird die Datei "Unterschiede.jpg" erstellt die mir rot die Unterschiede anzeigt:

    Compare - Unterschiede zwischen zwei Bilddateien anzeigen mit Imagemagick unter Linux

    Compare - Unterschiede zwischen zwei Bilddateien anzeigen mit Imagemagick unter Linux

    Hier ist zwar etwas mehr rot als die bearbeitete Stelle dies liegt aber an der unterschiedlichen Kompression der Bilder - der tatsächliche Unterschied ist auf der Mitte in der Frontscheibe des Autos, knallrot das Dreieck.

    Identify

    Identify wiederum dient nur einfach dazu diverse Informationen über das jeweilige Bild anzuzeigen, die Syntax:

    identify Dateiname

    Als kleines Beispiel:

    identify Unterschiede.jpg Unterschiede.jpg JPEG 800x600 800x600+0+0 8-bit sRGB 137KB 0.000u 0:00.000

    Animate

    Diese Anwendung stellt Bilder im Verzeichnis als sehr schnelle Diashow dar, durch die Regelung der Geschwindigkeit ohne Grenzen kann man bei vielen Bildern hintereinander die ganze Geschichte fast auch als Film ansehen. Die Syntax dieser Software lautet:

    animate optionen Dateien

    Als Beispiel habe ich so einige Bilder aufgenommen die etwa eine längere Bewegung zeigen, etwa viele Bilder eines Autos wie es über die Kreuzung fährt ... Alle Dateien liegen passend in einem Verzeichnis und haben die Dateiendung ".jpg":

    animate -delay 10 *.jpg

    Ohne die Option "-delay Sekunden" spielt die Software alle Bilder in einem Tempo von einer Sekunde ab und beginnt dann wieder von vorne, in diesem Beispiel zeigt die Software alle Bilder innerhalb von 10 Sekunden ab und beginnt nach wenigen Sekunden wieder von vorne.

    Display

    Display dient ganz einfach als Bildbetrachter der ein einzelnes Bild anzeigt, alle im Verzeichnis indem man diese entweder manuell durch klickt oder automatisch wie in einer Diashow anzeigen lässt. Die einfachste Art sich ein Bild anzeigen zu lassen - etwa das Bild "Bild.jpg" ist:

    display Bild.jpg

    Alle Bilder durch die man sich mit der Leertaste oder mit den Pfeil-Tasten manuell schaltet startet man einfach durch:

    display *.jpg

    Eine Übersicht über alle Bilder im Verzeichnis auf einem Mal startet:

    display "vid:*.jpg"

    Hier werden nun alle Bilder auf einem Mal in einem Fenster angezeigt das man mit der Tastenkombination Strg + c wieder beendet.

    Imagemagick grafisch

    Die komplette Software-Sammlung lässt sich auch grafisch nutzen, sie ist zwar nicht so bequem wie andere grafische Anwendungen zur Bildbearbeitung aber es ist zumindest möglich. Sie finden die Software wie üblich im Anwendungsmenü im Bereich "Grafik", alternativ starten Sie diese über den Schnellstarter oder über das Terminal durch den Befehl:

    display-im6.q16

    Je nach Version können sich die Ziffern im Befehl ändern, ein Versuch mit:

    display-im

    und drücken der Tabulator-Taste bringt den Rest des Befehls zum Vorschein. Das Hauptfenster der Software öffnet sich, klickt man in dieses öffnet sich das Menü:

    Imagemagick unter Linux grafisch nutzen

    Imagemagick unter Linux grafisch nutzen

    Beispiele für die Arbeit mit Imagemagick

    Beispiele folgen in Kürze

    Suche Nach oben Startseite Mail an den Autor Links rund um Linux

    SiteLock