Dimensionamento e rotação de imagem sem depender de dados EXIF?

9

Existe algo como um simples editor de imagens para Linux que permite dimensionar e girar a imagem sem usar dados EXIF para o dimensionamento e rotação?

Até agora eu tentei EOG , Shotwell , e GIMP e quando eu rotaciono as imagens, elas são armazenadas no cabeçalho EXIF. Isso eu não quero.

Mesmo que o GIMP possa fazer isso, ele consome muito tempo, pois requer muitos cliques no mouse quando se lida com arquivos JPEG.

    
por Jasmine Lognnes 31.08.2015 / 13:55

4 respostas

15

Is there such a thing as a simple image editor for Linux which allowed for scaling and rotating the image without using EXIF data for the scaling and rotation?

Salvando versus exportar

Eu sei que você afirma que não quer fazer isso no GIMP, mas na minha experiência, o problema que você está enfrentando - software favorecendo dados de orientação EXIF sobre a transformação de pixels na imagem - se resume à diferença entre < em> exportando uma imagem e salvando uma imagem.

No passado, 100% de todos os editores de imagens no mundo realmente transformavam / modificavam pixels ao lidar com transformações de orientação simples. Apenas recentemente, os programas de edição de imagens passaram a usar dados EXIF para armazenar alguns dados de transformação física.

Por quê? Fácil. Como o formato JPEG é um formato com perdas - mesmo quando a qualidade é definida como 100% -, salvar um JPEG para coisas simples, como rotação de imagem, degradará lentamente os dados. Em contraste, ao armazenar esses dados como informações EXIF, a imagem JPEG não é exibida, mas os dados da transformação são repassados para que você possa ver a imagem girada sem degradar a imagem no processo.

É aqui que o conceito de exportação entra em cena. Muitos programas de edição de imagens, como o GIMP, permitem exportar uma imagem, o que basicamente significaria modificar a imagem. dados em si e otimizá-lo para uso em software de edição sem imagem.

Portanto, embora possa haver outras ferramentas de software que modificam explicitamente dados de imagem para tarefas como a rotação, pode ser um exagero instalá-las e usá-las. Em vez disso, recomendo simplesmente experimentar a funcionalidade de exportação em qualquer software de edição de imagens que você esteja usando; seja o GIMP, o Photoshop ou qualquer outra coisa.

Processamento em lote

Tudo o que foi dito, você menciona como o GIMP pode consumir muito tempo para suas necessidades. Não está claro qual é o seu fluxo de trabalho exato, mas se você tiver uma pasta / diretório preenchido com JPEGs, talvez seja necessário processar, eu recomendo investigar as ferramentas mencionado nesta outra resposta :

  • exiftran : Uma ferramenta usada para transformar imagens JPEG de câmeras digitais que podem fazer o seguinte :

It can do lossless rotations like jpegtran, but unlike jpegtran it cares about the EXIF data: It can rotate images automatically by checking the exif orientation tag, it updates the exif informaton if needed (image dimension, orientation), it also rotates the exif thumbnail. It can process multiple images at once.

  • JHead : Especificamente usando jhead com a opção -autorot que é descrito como:

Using the 'Orientation' tag of the Exif header, rotate the image so that it is upright. The program 'jpegtran' is used to perform the rotation. This program is present in most Linux distributions. For windows, you need to get a copy of it. After rotation, the orientation tag of the Exif header is set to '1' (normal orientation). The Exif thumbnail is also rotated. Other fields of the Exif header, including dimensions are untouched, but the JPEG height/width are adjusted.

This feature is especially useful with newer digital cameras, which set the orientation field in the Exif header automatically using a built in orientation sensor in the camera.

Aqui está outra ferramenta mencionada em este outro tópico :

  • NConvert : NConvert é o conversor de imagens de linha de comando de vários formatos para Win32, Linux, DOS, OS / 2 e outras plataformas. Os detalhes de início rápido parecem estar aqui . E parece que se você usar nconvert com a opção -jpegtrans é exatamente o que você está procurando. Mas eu me pergunto se isso apenas usa a mesma funcionalidade de biblioteca / núcleo de jpegtran como esta outra resposta nesta questão recomenda?

Finalmente, talvez usando a ferramenta ImageMagick convert com o -auto-orient option funcionaria para você?

-auto-orient

adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).

This operator reads and resets the EXIF image profile setting 'Orientation' and then performs the appropriate 90 degree rotation on the image to orient the image, for correct viewing.

This EXIF profile setting is usually set using a gravity sensor in digital camera, however photos taken directly downward or upward may not have an appropriate value. Also images that have been orientation 'corrected' without reseting this setting, may be 'corrected' again resulting in a incorrect result. If the EXIF profile was previously stripped, the -auto-orient operator will do nothing.

    
por 31.08.2015 / 14:21
2

Eu costumo usar jpegtran para girar as fotografias:

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

90 gira para a direita, use 270 para a esquerda (e 180 para flip).

    
por 31.08.2015 / 14:01
2

Ao exportar no GIMP, você pode clicar em Avançado no pop-up antes de salvar, onde você pode desativar o EXIF e o XMP.

O algoritmo geral para script

  • para cada arquivo
  • salvar valor de exiftool * | grep Orientation
  • remova exif com exiftran -ai *
  • use convert -rotate com valor da etapa 2
por 31.08.2015 / 16:46
0

Você pode usar Exiftool para remover dados EXIF de imagens JPEG.

    
por 31.08.2015 / 14:56