Pular para o conteúdo

Extrair a data de uma fotografia

Dica publicada em Linux / Comandos
Elgio Schlemer elgio
Hits: 17.343 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar

Extrair a data de uma fotografia

Praticamente todas as câmeras digitais que conheço inserem como comentário DENTRO do arquivo JPEG a DATA e HORA em que ela foi tirada (eu acho HORRÍVEL e de muito mal gosto por a data na foto, impressa).

Esta informação vai como um comentário no arquivo e pode ser útil para catalogá-las. Ferramentas de gerenciamento de fotos usam esta informação.

Para extrair, por linha de comando, esta informação:

$ ARQ=teste.jpg
$ head -10 $ARQ | strings | grep 200[456789] | tail -1


O head é apenas por questões de desempenho, para ele não fazer um strings em 4 ou 5 MB de uma foto de boa qualidade.

Veja o efeito em uma foto gerada por máquina CANON:

2007:06:17 12:55:34

Usando rm para apagar arquivos esquisitos

Enviar aspas em PHP de maneira menos suja

Em C, escrever em arquivo fácil

Inserir comentários em regras do iptables

Melhore o desempenho do HISTORY

Sudo não funciona com comandos gráficos no Slackware 15.0

Utilizações do comando cd

Executar programas pelo terminal e deixá-lo livre

Arrumar o relógio

Comando para remover marca d'água textual em PDF

#1 Comentário enviado por removido em 24/10/2007 - 07:43h
Bacana sua dica meu amigo.......

A maioria não sabe que isto existe!!!
Como eu não cheguei a testar, fica aqui a pergunta:

Funciona com fotos tiradas de um celular???
#2 Comentário enviado por hugoeustaquio em 24/10/2007 - 09:37h
Acho que vai depender do celular, se ele gravar esta informação entre as 10 primeiras linhas do arquivo..... Só lembrando, se você tiver fotos antigas (antes do ano 2004) substitua o comando grep que foi utilizado, por uma faixa de datas que abranja suas fotos. Pode usar o comando egrep '(200|199)[0-9]' teste.txt, e o comando completo ficaria assim: head arquivo.jpg | strings | egrep '(200|199)[0-9]' | tail -1. O comando 'egrep' se difere do 'grep' por usar expressões regulares, e é o mesmo que usar 'grep -E'. Ah, este comando busca as datas de 1990 até 2009. Em 2010 o comando vai ter que mudar, ficando egrep '(20[0-20]|199[0-10])'.
#3 Comentário enviado por removido em 24/10/2007 - 10:04h
ahh mto bom!!!
então, testei fotos tiradas do meu celular (Motorola E398) e consegui extrair as informações de data e hora que foi tirada a foto. Baseada na data e hora do celular claro.

Muito obrigado pela dica. Para mim foi de muita utilidade.

Abraços

Contribuir com comentário

Entre na sua conta para comentar.