Como obter / editar metadados EXIF de múltiplas imagens?

27

Eu encontrei um grande problema ontem à noite.

Eu peguei minha câmera digital antiga e comecei a usá-la sem definir a data e a hora atuais.

Todas as fotos clicadas agora têm data como 01 de janeiro de 2009

Eu quero alterar a data e a hora (e outros metadados da imagem EXIF) de várias imagens.

Por favor, recomende algum software que pode processar em várias imagens em um único clique / go.

    
por I-M-JM 05.02.2012 / 20:24

3 respostas

31

Como você já tem uma solução de GUI, pensei em mencionar que também há várias maneiras de alterar os dados EXIF na linha de comando; duas ferramentas úteis são exiftool e jhead , que podem ser instaladas com este comando:

sudo apt-get install libimage-exiftool-perl jhead

Com essas duas ferramentas, você pode operar com vários arquivos de uma só vez, mas pode querer fazer backup de seus arquivos antes de começar a manipular os dados exif.

  1. jhead

    Para alterar a data e a hora EXIF dados em um número de arquivos 'em um único clique', você pode abrir o terminal e fazer cd para a pasta com as imagens e executar:

    jhead -ts2012:10:29-10:28:03 *.jpg

    A opção -ts permite especificar a data e a hora necessárias e gravá-la no cabeçalho exif de uma só vez: o formato especificado aqui é YYYY:MM:DD-HH:MM:SS .

    Se você quisesse alterar a data sem especificar o horário, você usaria:

    jhead -ds2012:10:29 *.jpg

    Você também pode fazer isso apenas para algumas fotos tiradas com uma câmera específica, se você especificou, por exemplo, -model "D70" , mas essa opção deve vir em primeiro lugar no processamento e deve ser algo como "D70", "S100 "e não" Nikon D70 ". Olhe para a leitura exif de suas fotos para obter o número do modelo correto.

    jhead -model "D70" -ts2012:10:29-10:28:03 *.jpg

    Para mais informações, consulte man jhead .

  2. exiftool

    Este utilitário tem mais opções do que jhead e é muito abrangente, como indicado em o site oficial . Existe um frontend gráfico para o exiftool em desenvolvimento, mas está nos estágios iniciais no momento, mas parece promissor.

    As opções de mudança de data e hora, e quais formatos podem ser usados, são bastante extensas, como aqui detalhado. neste pdf útil . Assim como em jhead , você pode decidir alterar a hora e a data ou apenas a data. Este exemplo altera a data e a hora:

    exiftool -AllDates="2012:03:14 12:25:00" *.jpg

    O exemplo acima apenas define um valor específico para a data e hora das imagens; se você quisesse apenas mudar todos por um determinado índice de tempo, como os três anos para frente, você poderia usar:

    exiftool -AllDates+="3:0:0 0" *.jpg

    O recurso de deslocamento pode ser muito útil se, como aconteceu com você, suas fotos forem de repente marcadas em 2009, mesmo que tenham sido tiradas em 2012. Certifique-se de usar um sinal de mais ou menos antes dos iguais (como em -AllDates-= ou -AllDates+= ), dependendo do que você deseja alcançar ao atribuir o índice de tempo necessário, ou os dados EXIF resultantes não serão os esperados.

    Exiftool irá criar um backup do original antes de editar os dados EXIF .

    Ele suporta mais tipos de imagens do que jhead .

    Para mais informações, consulte man exiftool .

por user76204 06.01.2013 / 23:42
20

Alterar a data e a hora são fáceis em Shotwell. Selecione as fotos que deseja ajustar e vá para o menu da seguinte forma:

Selecione Fotos / Ajustar data e hora. Isso traz um menu como este:

Se todas as fotos estiverem com o mesmo valor, você poderá fazer todas de uma vez. Se você usou mais de uma câmera e elas estavam fora por quantias diferentes, você precisa dividi-las e fazer cada lote separadamente.

A página de ajuda de Shotwell explicando esta está aqui .

    
por Tom Brossman 05.02.2012 / 20:44
2

Esta pergunta foi feita para EXIF, mas os metadados de imagem têm pelo menos três padrões que podem ser anexados a imagens, EXIF, XMP e IPTC. Muitos programas de fotos gravam em todos esses formatos, mas não em todos, por isso é importante verificar todos eles.

Descobri que exif é uma boa ferramenta, mas exiv2 é melhor. Comparar exif :

↪ exif 00000020.jpg 
EXIF tags in '00000020.jpg' ('Intel' byte order):
--------------------+----------------------------------------------------------
Tag                 |Value
--------------------+----------------------------------------------------------
Software            |Shotwell 0.22.0
Date and Time       |1905:01:01 00:00:01
X-Resolution        |72
Y-Resolution        |72
Resolution Unit     |Inch
Date and Time (Origi|1905:01:01 00:00:01
Date and Time (Digit|1905:01:01 00:00:01
User Comment        |Dad
Exif Version        |Exif Version 2.1
FlashPixVersion     |FlashPix Version 1.0
Color Space         |Internal error (unknown value 65535)
--------------------+----------------------------------------------------------

Para exiv2 :

↪ exiv2 -p a 00000020.jpg 
Exif.Image.Software                          Ascii      16  Shotwell 0.22.0
Exif.Image.DateTime                          Ascii      20  1905:01:01 00:00:01
Exif.Image.ExifTag                           Long        1  86
Exif.Photo.DateTimeOriginal                  Ascii      20  1905:01:01 00:00:01
Exif.Photo.DateTimeDigitized                 Ascii      20  1905:01:01 00:00:01
Exif.Photo.UserComment                       Undefined  11  Dad
Iptc.Application2.Program                    String      8  Shotwell
Iptc.Application2.ProgramVersion             String      6  0.22.0
Iptc.Application2.Keywords                   String      8  2015scan
Iptc.Application2.Keywords                   String     11  Lissner-Jay
Iptc.Application2.Keywords                   String      6  People
Xmp.exif.DateTimeOriginal                    XmpText    20  1905:01:01 08:00:01
Xmp.exif.DateTimeDigitized                   XmpText    20  1905-01-01T08:00:01Z
Xmp.xmp.CreateDate                           XmpText    20  1905-01-01T08:00:01Z
Xmp.dc.subject                               XmpBag      3  2015scan, Lissner-Jay, People
Xmp.digiKam.TagsList                         XmpSeq      2  People, People/Lissner-Jay
Xmp.MicrosoftPhoto.LastKeywordXMP            XmpBag      2  People, People/Lissner-Jay

A grande diferença aqui é que as palavras-chave no XMP e no IPTC não estão em EXIF e, portanto, se eu olhasse para lá, pensaria que não tinha palavras-chave.

Eu dei o comando exiv2 -p a my-image.jpg porque ele exibe todas as três formas de metadados. Deixar de fora -p a mostrará apenas os dados EXIF.

    
por mlissner 04.01.2016 / 18:48