#/bin/sh # # Version 3.1 # Script permettant de faire des statistiques sur les caracteristiques des prises de vues # # Utilisation: se mettre dans le répertoire à analyser et lancer le script. # # Remarque: le script ne prend pas en compte les sous-répertoire. # # caracteristiques => stats: Focale / tps exposition / Ouverture / Iso # # recuperation des infos: # jhead *.jpg | grep -E 'Focal|Exposure time|Aperture|ISO' | gawk -F: '{ print $2 }' | gawk '{ print $1 }' > ~/infos_photos.txt compteur=0 tps_cumule=0 iso_cumule=0 focale_cumule=0 ouverture_cumule=0 # Initialisation des tableaux de focale et d ouverture # focale de mes objs actuels: 17=>300 ouverture maxi 1.8 maxi 22 (environ) for i in `seq 1 300` do tabouv[$i]=0 tabfoc[$i]=0 done #echo ${tabouv[@]} #echo #echo ${tabfoc[@]} # traitement du fichier contenant les entrees exif pour mettre toutes les infos d'une photo sur 1 ligne > ~/infos_photos_ligne.txt cpt_ligne=0 while read info do ((cpt_ligne++)) echo -n "$info " >> ~/infos_photos_ligne.txt if [ $cpt_ligne -eq 4 ] ; then echo >> ~/infos_photos_ligne.txt cpt_ligne=0 fi done < ~/infos_photos.txt while read focale tps ouverture iso do focale=`echo $focale | gawk -F. '{ print $1 }'` ((tabfoc[$focale]++)) ouverture=`echo $ouverture | gawk -F/ '{ print $2 }'` # multiplication par 10 des ouvertures afin de supprimer la virgule de l ouverture ouverture_10=`echo "$ouverture * 10" | bc -l | gawk -F. '{ print $1 }' ` ((tabouv[$ouverture_10]++)) tps_cumule=`echo " $tps_cumule + $tps " | bc -l` iso_cumule=$(( $iso_cumule + $iso )) focale_cumule=$(($focale_cumule + $focale)) ouverture_cumule=`echo "$ouverture_cumule + $ouverture" | bc -l` ((compteur++)) done < ~/infos_photos_ligne.txt tps_moy=`echo "$tps_cumule / $compteur" | bc -l` echo "Temps exposition moyen = " $tps_moy s ou 1/`echo "1/$tps_moy"| bc -l ` s echo "Sensibilité moyenne = "$(( $iso_cumule / $compteur )) echo "Focale moyenne = "$(( $focale_cumule / $compteur )) echo "Ouverture moyenne = "f/`echo "$ouverture_cumule / $compteur" | bc -l | gawk -F0 '{ print $1 }'` echo "Ouvertures (%): " for i in `seq 18 300` do if [ ${tabouv[$i]} -ne 0 ]; then echo -n "$i: " echo "scale=4; ${tabouv[$i]} / $compteur *100" | bc fi done echo "Focales (%): " for i in `seq 17 300` do if [ ${tabfoc[$i]} -ne 0 ]; then echo -n "$i: " echo "scale=4; ${tabfoc[$i]} / $compteur * 100" | bc -l fi done