Como girar sin pérdidas una imagen JPEG, con sencillos comandos de Linux

Uno de los grandes problemas que aparecen al intentar editar una imagen con formato JPEG, son las pérdidas que se producen en cada proceso de guardado de la imagen. La solución profesional en fotografía es trabajar con imágenes RAW y, sólo en el último instante, pasar la imagen (si es que se necesita) al formato JPEG.

Sin embargo, muchas cámaras digitales domésticas no disponen de ese formato. Así que el simple girado de la imagen puede provocar pérdidas respecto a la imagen originalmente registrada.

Afortunadamente en Linux tenemos unas herramientas muy potentes que nos permiten, en un sencillo paso, girar las imágenes sin que se produzca, en absoluto, ninguna pérdida. Las alternativas son dos:

  • Si la imagen ha sido captada por una cámara que detecte automáticamente su orientación en el momento de la toma (mi Canon EOS 300D tiene esa posibilidad), y la pasamos directamente de la memoria (Memory Stick, SD, CF,…) al ordenador, la información de la posición queda incluida en los datos EXIF de la imagen JPEG, pero no es utilizada a la hora de visualizarla. En este caso no hay más que usar el siguiente comando:
  • exifautotran imagen.jpg

    Con esto, la imagen original queda directamente orientada de forma correcta. Podéis comprobarlo comparando los tamaños de los ficheros: apenas varían.

  • Si no se dispone en los datos EXIF de la orientación de la imagen, podemos hacerlo “a mano” mediante este otro comando
  • jpegtran -copy all -rotate 270 original.jpg > rotada.jpg

    Esto suponiendo que qusieramos girarla 270 grados en el sentido de las agujas del reloj. Otros valores válidos sería 90 y 180.

Por cierto, no está demás echar un vistazo a man jpegtran. Sus posibilidades son muchas y muy variadas, y todas “sin pérdidas”.

Valora este apunte

Deja un comentario