¿Escalado y rotación de la imagen sin depender de los datos EXIF?

10

¿Existe un editor de imágenes simple para Linux que permita escalar y rotar la imagen sin usar datos EXIF ​​para el escalado y la rotación?

Hasta ahora he probado EOG , Shotwell y GIMP y cuando giro las imágenes, lo almacenan en el encabezado EXIF. Esto no lo quiero.

Incluso si GIMP pudiera hacerlo, lleva demasiado tiempo ya que requiere toneladas de clics del mouse cuando se trata de archivos JPEG.

Jasmine Lognnes
fuente
2
Entonces, básicamente, si gira una imagen 90 grados hacia la izquierda, ¿desea que la imagen misma gire en los datos 90 grados hacia la izquierda? No a través de la información almacenada en los datos EXIF, ¿correcto?
JakeGould
Exactamente. Lo necesito porque los archivos README.md de Github no entienden EXIF.
Jasmine Lognnes
¡Bingo! Publiqué una respuesta más completa, pero creo que el problema con el que te encuentras es la diferencia fundamental entre guardar una imagen en un programa de edición de imágenes moderno y exportar una imagen. Mi respuesta entra en más detalles, pero creo que si exportara un JPEG a través de GIMP, obtendrá los resultados exactos que desea sin tener que lidiar con los datos EXIF ​​favorecidos para transformaciones como el escalado y la rotación.
JakeGould
El uso de la exportación de GIMP en un archivo JPEG exif pelado agregó uno nuevo.
Jasmine Lognnes
Sí, podría haber agregado nuevos datos EXIF, pero ¿se modificaron los datos reales de la imagen para que coincidan con la orientación que hizo su pregunta?
JakeGould

Respuestas:

15

¿Existe un editor de imágenes simple para Linux que permita escalar y rotar la imagen sin usar datos EXIF ​​para el escalado y la rotación?

Ahorro versus exportación

Sé que declaras que realmente no quieres hacer esto en GIMP, pero en mi experiencia, el problema con el que te estás encontrando (software que favorece los datos de orientación EXIF ​​sobre la transformación real de píxeles en la imagen) se reduce a la diferencia entre exportar una imagen y guardando una imagen.

En el pasado, el 100% de todos los editores de imágenes del mundo en realidad transformaban / modificaban píxeles al tratar con transformaciones de orientación simples. Es relativamente reciente que los programas de edición de imágenes difieren del uso de datos EXIF ​​para almacenar algunos datos de transformación física.

¿Por qué? Fácil. Dado que el formato JPEG es un formato con pérdida, incluso cuando la calidad se establece al 100%, guardar un JPEG para cosas simples como la rotación de la imagen degradará lentamente los datos. En contraste, al almacenar esos datos como información EXIF, la imagen JPEG sin procesar se deja intacta pero los datos de transformación se pasan para que pueda ver la imagen rotada sin degradar la imagen en el proceso.

Aquí es donde entra en juego el concepto de exportación. Muchos programas de edición de imágenes , como GIMP, permiten exportar una imagen, lo que básicamente significaría modificar los datos de la imagen y optimizarlos para su uso en software de edición sin imágenes.

Entonces, si bien puede haber otras herramientas de software que modifiquen explícitamente los datos de imagen para tareas como la rotación, puede ser excesivo instalarlos y usarlos. En cambio, recomendaría simplemente experimentar con la funcionalidad de exportación en cualquier software de edición de imágenes que esté utilizando; ya sea GIMP, Photoshop u otra cosa.

Procesamiento por lotes

Dicho todo esto, mencionas cómo GIMP puede llevar demasiado tiempo para tus necesidades. No está claro cuál es su flujo de trabajo exacto, pero si tiene una carpeta / directorio lleno de archivos JPEG que podría necesitar procesar, recomendaría investigar las herramientas mencionadas en esta otra respuesta :

  • exiftran : una herramienta utilizada para transformar imágenes JPEG de cámara digital que puede hacer lo siguiente:

Puede hacer rotaciones sin pérdidas como jpegtran, pero a diferencia de jpegtran, se preocupa por los datos EXIF: puede rotar las imágenes automáticamente al verificar la etiqueta de orientación exif, actualiza la información exif si es necesario (dimensión de imagen, orientación), también gira la miniatura exif . Puede procesar múltiples imágenes a la vez.

  • JHead : se usa específicamentejheadcon la-autorotopción que se describe como:

Usando la etiqueta 'Orientación' del encabezado Exif, gire la imagen para que quede en posición vertical. El programa 'jpegtran' se usa para realizar la rotación. Este programa está presente en la mayoría de las distribuciones de Linux. Para Windows, necesita obtener una copia. Después de la rotación, la etiqueta de orientación del encabezado Exif se establece en '1' (orientación normal). La miniatura Exif también se gira. Otros campos del encabezado Exif, incluidas las dimensiones, están intactos, pero se ajustan la altura / anchura de JPEG.

Esta característica es especialmente útil con las cámaras digitales más nuevas, que configuran el campo de orientación en el encabezado Exif automáticamente usando un sensor de orientación incorporado en la cámara.

Aquí hay otra herramienta mencionada en este otro hilo :

  • NConvert : NConvert es el convertidor de imagen de línea de comandos multiformato para Win32, Linux, DOS, OS / 2 y otras plataformas. Los detalles de inicio rápido parecen estar aquí . Y parece que si usanconvertla-jpegtransopción que es exactamente lo que está buscando. Pero me pregunto si eso solo usa la misma funcionalidad de biblioteca / núcleo de lajpegtranquerecomienda esta otra respuesta a esta pregunta.

Finalmente, ¿tal vez usar la herramienta ImageMagick convert con la -auto-orientopción funcionaría para usted?

-orientación

ajusta una imagen para que su orientación sea adecuada para la visualización (es decir, orientación superior izquierda).

Este operador lee y restablece la configuración de orientación de perfil de imagen EXIF ​​'Orientación' y luego realiza la rotación apropiada de 90 grados en la imagen para orientarla, para una visualización correcta.

Esta configuración de perfil EXIF ​​generalmente se establece usando un sensor de gravedad en una cámara digital, sin embargo, las fotos tomadas directamente hacia abajo o hacia arriba pueden no tener un valor apropiado. Además, las imágenes que se han 'corregido' con orientación sin restablecer esta configuración, pueden 'corregirse' nuevamente dando como resultado un resultado incorrecto. Si el perfil EXIF ​​se eliminó previamente, el operador de orientación automática no hará nada.

JakeGould
fuente
Sería perfecto si una herramienta de línea de comandos pudiera hacer la rotación de píxeles real basada en EXIF ​​y luego borrar la información EXIF ​​después. ¿Es eso posible?
Jasmine Lognnes
1
@JasmineLognnes No he utilizado realmente cualquiera de estas herramientas a mí mismo, pero esta pregunta es una buena referencia para herramientas que debe investigar, pero me parece que exiftrany jpegtranpodría ser lo que buscas. Experimentaría con las opciones que tienen ambas herramientas y veré qué sucede. Lo mejor que puedo hacer. ¡Buena suerte!
JakeGould
1
Puede resultarle gracioso que el sistema haya seleccionado esta respuesta como prueba de auditoría en la cola de revisión de LQ Post. Voté por no eliminarlo, por cierto, y aparentemente, esa fue la respuesta correcta. :-)
fixer1234
@ fixer1234 Sí, lo vi cuando revisé publicaciones de baja calidad anteriormente. ¡Divertidísimo! Podría haber sido provocado por la cantidad de varios enlaces a paquetes dispares que me recomiendan. ¡Pero hey! Estoy feliz de que haya algún mecanismo de vigilancia automatizado que al menos tenga un componente de filtrado humano.
JakeGould
2

Usualmente uso jpegtranpara rotar fotografías:

jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg

90 gira a la derecha, use 270 para la izquierda (y 180 para voltear).

choroba
fuente
2

Al exportar en GIMP, puede hacer clic en Avanzado en la ventana emergente justo antes de guardar, donde puede desactivar EXIF ​​y XMP.

El algoritmo general para escribirlo

  • para cada archivo
  • guardar valor de exiftool * | grep Orientation
  • eliminar exif con exiftran -ai *
  • utilizar convert -rotatecon valor del paso 2
d2xdt2
fuente
Esto es exactamente lo que estaba buscando. Una forma que detecta si la imagen gira y luego una forma de girarla en función de eso. ¡Gracias!
xarlymg89
0

Puede usar Exiftool para eliminar datos EXIF ​​de imágenes JPEG.

SPRBRN
fuente
Sí, es genial para eso, pero cuando edito las imágenes después, se agregan nuevos encabezados EXIF.
Jasmine Lognnes
EXIFTool puede eliminar los datos, pero no alterará, rotará ni escalará la imagen. Simplemente borrará esos datos y el JPEG se mostrará en cualquier formato sin formato en el que existía originalmente. Esto es útil en algunos casos, pero no en un caso como este.
JakeGould