shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: script para datar fotos


From: voyeg3r
Subject: Re: script para datar fotos
Date: Sat, 31 Jan 2009 21:47:47 -0000
User-agent: eGroups-EW/0.82

Conhece o bbips?
http://sourceforge.net/projects/bbips


--- Em address@hidden, Flavio Junior <billpp@...>
escreveu
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Não entendi bem teu for, mas me PARECE errado...
> 
> Se os dados estão na mesma linha, como parecem estar, eu faria:
> 
> for img in *.jpg; do
>   DT=awk -F: '{print $3$4$5$6$7}' < <(exiftime -td $img)
>   convert -font helvetica -fill white -stroke black -pointsize 12
> - -draw 'text 2200,1900 "$img" ${DT}datada.jpg
> done
> 
> Na real eu pensei em renomear o arquivo com a data.. já nao sei bem se
> é isso que tu quer..
> nao entendi esse convert.
> 
> - --
> 
> Flávio do Carmo Júnior aka waKKu
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (MingW32)
> Comment: http://getfiregpg.org
> 
> iEYEARECAAYFAkmDXMAACgkQgyuXjr6dyku7UgCeLsnR2BkqTNx6W4DAIjG84smi
> KioAniNF2CFZRkdYdK1+LTJVP2kMWuUb
> =L8/F
> -----END PGP SIGNATURE-----
> 
> 2009/1/30 china <china.listas@...>:
> > Caros;
> >
> > Retomando a tarefa depois das férias, e agora mais motivado ainda
> > pelas zilhares de fotos tiradas :-)
> >
> > Matutando sobre a questão, vi que não estava pegando a data da foto,
> > mas sim do arquivo, que refletia o timestam de gravação no filesystem.
> > Ainda bem que o comando 'cp' preservou as datas de criação no cartão
> > de memória, mas não dá para confiar nisso ...
> >
> > Então descobri o programa 'exiftime', que lê o metadado da foto e
> > revela a data em que ela foi tirada, assim fica mais fidedigno :-D
> >
> > usando o comando 'exiftime -td pessoal/Fotos/*.jpg' ele retorna o
seguinte:
> > [...]
> > pessoal/Fotos/banheiro_012.jpg:
> > Image Digitized: 2008:08:10 21:33:55
> >
> > pessoal/Fotos/banheiro_013.jpg:
> > Image Digitized: 2008:08:10 21:34:04
> >
> > pessoal/Fotos/galo.jpg:
> > Image Digitized: 2007:09:07 10:44:17
> > [...]
> >
> > Ou seja, lista todas as fotos e mostra a data e hora de criação.
> >
> > O que tentei fazer:
> >
> > for img in $(exiftime -td *.jpg); do
> > convert -font helvetica -fill white -stroke black -pointsize 12
> > -draw 'text 2200,1900 "$img"' ${img}datada.jpg
> > done
> >
> > Então retorna o erro como no exemplo:
> >
> > 'convert: missing an image filename `10:44:17datada.jpg'.'
> >
> > e não processa nada, apenas criando os arquivos em vazios. Creio que o
> > problema está na passagem do nome do arquivo para o convert.
> >
> > O que acham? Alguém tem uma luz para destara esse nó?
> >
> > PS: Numa de minhas buscas encontrei diversos softwares que fazem
> > gravação de data nas fotos, mas todos proprietários e feitos apenas
> > para windowz. O f-spot que vem no Ubuntu lê estes metadados e organiza
> > as fotos em pastas justamente pela data de criação, mas não tem a
> > opção de gravar a data na foto.
> >
> > 2008/12/19 chinabhz <china.listas@...>:
> >> Caros;
> >> Tenho uma câmera digital que não tem a função de gravar a data nas
> >> fotos (sic)!
> >> Daí me surgiu a idéia de criar um script que pega a data do
arquivo da
> >> foto e a escreve no arquivo. Não tenho conhecimento suficiente para
> >> concluir a tarefa, por isso peço ajuda de vocês.
> >>
> >> O que já consegui:
> >> 1) Usando o ls+awk consegui ler a pasta onde estão as fotos e
retornar
> >> apenas a data e hora de cada um
> >> ls -lh * | awk {'print $6" "$7'}
> >>
> >> 2) usando o convert, do imagemagik, consegui gravar a data na foto em
> >> UMA foto:
> >>
> >> convert -font helvetica -fill white -stroke black -pointsize 12 -draw
> >> 'text 2200,1900 "datadafoto"' -stroke none -draw 'text 2200,1900
> >> "datadafoto"' foto.jpg fotodatada.jpg
> >>
> >> O que preciso: que o scritp leia o diretório de fotos e corte
apenas a
> >> data e hora e passe como variavel para o convert fazer a datagem de
> >> todas de uma vez, sendo que na linha de comando onde está foto.jpg
> >> ficaria a variável que seria cada data de cada foto.
> >>
> >> Como minha câmera é muito comum, acredito que esse script seja de
> >> interesse geral ... Tem como fazer??
> >>
> >> O que já fiz e não deu certo foi:
> >>
> >> #!/bin/bash
> >> $fotos="ls -lh * | awk {'print $6" "$7'}"
> >> for img in $fotos; do
> >> convert -font helvetica -fill white -stroke black -pointsize 12 -draw
> >> 'text 2200,1900 "datadafoto"' -stroke none -draw 'text 2200,1900
> >> "datadafoto"' $img $imgdatada
> >>
> >>
> >
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]