[blip.tv http://blip.tv/play/gfJ0p6swyWY]Ayer, jugando con la cámara en el comedero de gorriones de la terraza. Tomando un fotograma cada 30 segundos, entre las 8 de la mañana y las 8 de la tarde.
Cada fotograma se guardaba como un jpg con nombre: añomesdiahoraminutosegundo.jpg.
Por la noche, me hice un script con ayuda de ImageMagick dibuja un relojito en la esquina según la hora obtenida a partir del nombre del archivo.#!/bin/bash
#lee todos los jpg del dia de ayer de la carpeta donde se encuentre el script
for origen in `ls 20080131*.jpg`; do
#el archivo original no se modifica, se guarda una versión con prefijo pre
destino="pre_"$origen
#obtiene hora minutos y segundos (para las fracciones) a partir del nombre
hora=`echo $origen | sed -r 's/(.{4})(.{2})(.{2})(.{2})(.{2})(.{2})\.jpg/\4/g'`
minuto=`echo $origen | sed -r 's/(.{4})(.{2})(.{2})(.{2})(.{2})(.{2})\.jpg/\5/g'`
segundo=`echo $origen | sed -r 's/(.{4})(.{2})(.{2})(.{2})(.{2})(.{2})\.jpg/\6/g'`
#calcula el angulo correspondiente de la aguja de hora y minutero
angulohora=$(echo "scale=2;(360/12)*($hora+($minuto/60))"|bc)
angulominuto=$(echo "scale=2;(360/60)*($minuto+($segundo/60))"|bc)
convert $origen -fill "rgba(200,200,200,0.3)" -stroke black -draw "circle 300,220 300,205" -stroke "#000000" -strokewidth 2 -draw "translate 300,220 rotate $angulohora line 0,0 0,-10" -draw "translate 300,220 rotate $angulominuto line 0,0 0,-15" $destino
done