Wie spiegele ich Bilddateien über die Befehlszeile?

12

Was ich tun möchte, ist sehr einfach. Ich habe eine file.png, die ich spiegeln möchte, dh das Ergebnis sollte eine "Reflexion" des Originalbildes sein.

Ich weiß, dass große Tools wie GIMP und InkScape das können, aber ich hoffe auf ein Befehlszeilenprogramm wie das convert(das leider keine solche Option zu haben scheint oder zumindest nicht auf der manSeite erwähnt wird).

Sergiy Kolodyazhnyy
quelle

Antworten:

23

Von der schnellen Lektüre dieser , offenbar convertnennt diese Option -flopfür horizontale Spiegelung und -flipfür die vertikale. Alles was ich tun musste war

convert -flop input.png output.png
Sergiy Kolodyazhnyy
quelle
1
sudo apt-get install imagemagick
tonka
Ich habe etwas über den Wechsel convertzu gelesen magick. Wenn also etwas schief geht, versuchen Sie es magick.
Sigur
2

Für diese spezielle Aufgabe convertist wahrscheinlich der beste Weg, aber für netpbmsolche Dinge verwende ich oft die Bibliothek, mit der (wie zu erwarten) installiert werden kann apt install netpbm. Dann

  pngtopnm input.png | pnmflip -lr \
    | (other transformations if desired) \  
    | pnmtopng > output.png

Für diese Aufgabe ist es übertrieben, aber ich schreibe oft einmalige Skripte, um PNM-Dateien auf besondere Weise zu transformieren oder zu analysieren, die in nicht verfügbar wären convert. Dies ist relativ einfach, da PNM so ziemlich das einfachste vorstellbare Bitmap-Grafikformat ist.

MJD
quelle
2

Wenn Sie direkt überschreiben möchten und eine Menge Bilddateien im selben Ordner haben, mogrifyscheint die ImageMagick-Suite der einfachste Weg zu sein, dies zu erreichen:

# mirror in the vertical axis:
mogrify -flip *.jpg

# mirror in the horizontal axis:
mogrify -flop *.jpg
EA304GT
quelle