#Autor: Cleiton Rodrigues 2021-04-16 #aplicação: o script lê uma pasta de fotos e adiciona um carimbo #de imagem com as informações contidas nas variáveis. #os dados adicionados no carimbo são data e hora que são retirados #do nome do arquivo de imagem de câmeras no formato IMG_20230414_053232.jpg. #uso deste script: #copie o script, de permissao de execucao. #ajuste as informações nas variáveis #!/bin/bash #variáveis localizacao="Bairro Lot. Santo André" geolocation="-9.370219, -40.545343" dir_photos="./foto_input" dir_ouput="./foto_output" function format_datetime() { #extraindo data e hora do nome do arquivo no padrao: IMG_20230414_053232.jpg #nome_arquivo="IMG_20230414_053232.jpeg" nome_arquivo=$1 var1=$(echo $nome_arquivo | cut -d '_' --output-delimiter=' ' -f 2) var2=$(echo $nome_arquivo | cut -d '_' --output-delimiter=' ' -f 3 | cut -d '.' -f 1) #formatando data e hora format_date=$(date -d $var1 "+%d/%m/%Y") format_hour=$(echo $var2 | sed -r 's/^(..)(..)(..)$/\1:\2:\3/') } #-background "#00000010" \ #-fill white -stroke black -strokewidth 1 \ #criando o carimbo function create_stamp() { convert -size 590x160 \ xc:white -background white \ -fill black \ -gravity West -pointsize 30 \ -interline-spacing -13 -annotate 0 \ "Local: $localizacao\n Geolocalização: $geolocation\n Data: $format_date\n Hora: $format_hour" \ carimbo.png } #estampando carimbo na imagem function stamp() { composite -gravity NorthWest -geometry +10+10 carimbo.png $1 $dir_ouput/$2"_stamped.jpeg" } # loop para ler diretorio com fotos, gerar carimbo, carimbar fotos e salvar. for file in $dir_photos/*.{jpg,jpeg,png}; do # Obter o nome do arquivo sem o caminho filename=$(basename "$file") echo $filename format_datetime $filename create_stamp stamp "$dir_photos/$filename" $filename done