¿Cómo duplicar archivos de imagen a través de la línea de comandos?

13

Lo que quiero hacer es muy simple. Tengo una file.png, que quiero reflejar, es decir, el resultado debería ser un "reflejo" de la imagen original.

Sé que grandes herramientas como GIMP y InkScape pueden hacer eso, pero espero una utilidad de línea de comandos, algo así convert(que lamentablemente no parece tener esa opción, o al menos no se menciona en la manpágina).

Sergiy Kolodyazhnyy
fuente

Respuestas:

26

De la lectura rápida de esto , aparentemente convertllama a esta opción -floppara la duplicación horizontal y la -flipvertical. Todo lo que necesitaba hacer era

convert -flop input.png output.png
Sergiy Kolodyazhnyy
fuente
1
sudo apt-get install imagemagick
tonka
He leído algo sobre cambiar converta magick. Entonces, si algo sale mal, inténtalo magick.
Sigur
3

Si desea sobrescribir en el lugar y tiene una tonelada de archivos de imagen en la misma carpeta, mogrifydesde la suite ImageMagick parece ser la forma más fácil de lograr esto:

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

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

Para esta tarea en particular convertes probablemente la mejor manera de hacerlo, pero para este tipo de cosas a menudo uso la netpbmbiblioteca, que es instalable (como es de esperar) apt install netpbm. Entonces

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

Para esta tarea es excesivo, pero a menudo me encuentro escribiendo scripts únicos para transformar o analizar archivos PNM de formas peculiares que no estarían disponibles convert. Esto es relativamente fácil, porque PNM es prácticamente el formato gráfico de mapa de bits imaginable más simple.

MJD
fuente