Je me rends compte avec horreur que ça fait presque trois mois que j’ai pas bloggé ici. C’est affreux. Rattrapons cela immédiatement.
Faut dire, j’ai été occupée ailleurs :
- sur un blog avec de la bouffe http://cuisine.palats.org/coinblog/
- sur un autre blog avec de la bouffe http://menusolo.wordpress.com/
- sur un troisième blog sur lequel j’essaie de pas mettre trop de bouffe (c’est un blog photo) http://balise365.wordpress.com/
… débordée, quoi.
Bref. Au fait, bonne année, tout ça, on est encore en janvier, l’honneur est sauf.
Si je me décide à reprendre le clavier aujourd’hui, c’est pour partager un tout ptit bout de code très laid. Contexte : j’envisage fortement l’achat d’un truc un poil plus lumineux que mes objectifs courants pour le Pentax. Et comme je veux pas y passer les deux bras (un seul suffira), ça implique presque mécaniquement la focale fixe. Et comme je suis indécise, j’hésite entre deux focales : la 35 et la 50. Par conséquent, j’ai codouillé un ptit truc dans un coin pour savoir si j’avais plutôt tendance à tourner autour du 35 ou plutôt autour du 50. Me suis limitée à la cuisine, parce que c’est quand même là que je prends une majorité de photos, et si je prends un objectif qui me va pas à la cuisine, ça va me déprimer je le sens.
Attention, c’est (comme d’habitude) probablement très laid et strictement non flexible. Mais ça fait à peu près ce que je veux, donc si ça peut servir à quelqu’un… (je dois quand même pas être la seule à me poser ce genre de questions ? si ? bon.). C’est du Python, obviously, parce que le Python, c’est bien.
from PIL import Image from PIL.ExifTags import TAGS import os def get_exif(fn): ret = {} i = Image.open(fn) info = i._getexif() for tag, value in info.items(): decoded = TAGS.get(tag, tag) ret[decoded] = value return ret path = "/home/isa/Photos/cuisine" range35 = 0 range50 = 0 for root, dir, fnames in os.walk(path): for fname in fnames: fname = root + "/" + fname if os.path.basename(fname).lower().endswith("jpg"): try: exif = get_exif(fname) model = exif["Model"] if(model.startswith("PENTAX K-m")): (num1, num2) = get_exif(fname)["FocalLength"] focal = num1/num2 if(focal >= 31 and focal <= 39): range35 = range35 +1 elif(focal >= 46 and focal <= 54): range50 = range50 + 1 except: pass print "Range autour de 35 :" print range35 print "Range autour de 50 :" print range50
Et, pour ceux que ça intéresse, le résultat est sans appel :
Range autour de 35 : 951 Range autour de 50 : 437
Sur le 35 j’ai « le choix » entre la 1.4 de Sigma et la 2.8 macro de Pentax… ça sera probablement le macro, la mise au point à 40cm+ sur le Sigma me fait un peu peur. Ça m’emmerde un peu, au sens où je gagne pas tant que ça en luminosité. Bref… la photo est un domaine de frustration permanent :p (à moins d’être très riche et d’avoir un dromadaire pour porter le matériel).
PS : je vient de passer, avec un peu de retard, sur le Gculicious, ressource précieuse s’il en est, et d’y trouver un toolaize de stats EXIF pour compte Flickr. Pour le coup, j’ai à peu près le même nombre de photos dans les deux catégories… dameunède :p