Comment mettre en miroir des fichiers image via la ligne de commande?

13

Ce que je veux faire est très simple. J'ai un file.png, que je veux refléter, c'est-à-dire que le résultat doit être un "reflet" de l'image originale.

Je sais que de gros outils comme GIMP et InkScape peuvent le faire, mais j'espère un utilitaire de ligne de commande, quelque chose comme convert(qui ne semble malheureusement pas avoir une telle option, ou du moins ce n'est pas mentionné dans la manpage).

Sergiy Kolodyazhnyy
la source

Réponses:

26

De lecture rapide de ceci , convertappelle apparemment cette option -floppour la mise en miroir horizontale et -flipverticale. Tout ce que je devais faire était

convert -flop input.png output.png
Sergiy Kolodyazhnyy
la source
1
sudo apt-get install imagemagick
tonka
J'ai lu quelque chose sur le fait de changer convertpour magick. Donc, si quelque chose ne va pas, essayez magick.
Sigur
3

Si vous souhaitez remplacer sur place et que vous avez une tonne de fichiers image dans le même dossier, mogrifyla suite ImageMagick semble être le moyen le plus simple d'y parvenir:

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

# mirror in the horizontal axis:
mogrify -flop *.jpg
EA304GT
la source
2

Pour cette tâche particulière convertest probablement la meilleure façon de procéder, mais pour ce genre de chose, j'utilise souvent la netpbmbibliothèque, qui est installable (comme vous vous en doutez) avec apt install netpbm. alors

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

Pour cette tâche, c'est exagéré, mais je me retrouve souvent à écrire des scripts uniques pour transformer ou analyser des fichiers PNM de manière particulière qui ne serait pas disponible dans convert. C'est relativement facile, car PNM est à peu près le format graphique bitmap le plus simple imaginable.

MJD
la source