#!/bin/bash
# valore alto significa sensibilita' alta
LIMITE=22
# qualita' jpeg
JPEG_Q="60%"
# messaggio vocale di uscita prematura
MSG_USCITA="stop"
# messaggio vocale di allarme
MSG_ALLARME="allarrme"
# nome foto significativa precedente
fname_0=""
# nome foto appena scattata
fname_1=""
echo Partenza tra 30 secondi...
sleep 30
while true; do
fname_1="webcam_$(date +%Y%m%d-%H%M%S).png"
echo "foto $fname_1"
fswebcam -q -r 640x480 -D 1 --no-banner --png 9 $fname_1
if [ -n "$fname_0" ]; then
DIFFERENZA=$(compare -metric PSNR $fname_0 $fname_1 null: 2>&1 | cut -d "." -f 1)
echo " diff=$DIFFERENZA"
if [ $LIMITE -gt $DIFFERENZA ]; then
echo " DIFFERENZA tra $fname_0 e $fname_1"
#espeak -v it+f5 "$MSG_ALLARME" &
convert -quality $JPEG_Q $fname_0 $fname_0.jpg
rm $fname_0
fname_0=$fname_1
else
rm $fname_1
echo " no diff"
fi
else
fname_0=$fname_1
fi
if [ -f "stop" ]; then
echo "uscita forzata"
rm stop
sleep 1;
espeak "$MSG_USCITA"
break
fi
done
# converte l'ultima immagine
if [ -f "$fname_1" ]; then
convert -quality $JPEG_Q $fname_1 $fname_1.jpg
rm $fname_1
fi
if [ -f "$fname_0" ]; then
convert -quality $JPEG_Q $fname_0 $fname_0.jpg
rm $fname_0
fi