Srsly, 3 mois ? et considérations pythonesques sur l’EXIF

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 :

… 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

5 commentaires sur « Srsly, 3 mois ? et considérations pythonesques sur l’EXIF »

  1. Il me semblait que ça faisait un moment (je te surveille de près 😉 … On va demander à se faire rembourser ! (ah non c’est vrai qu’on te paie déjà pas…).
    Malheureusement en fait je comprends pas grand-chose à ce billet.
    Tu veux venir au Salon du livre Jeunesse, à St-Paul-3-Châteaux, à la fin du mois, pour pouvoir nous parler bouquins ? 🙂

  2. Tant qu’à prendre un 35mm macro @2.8, pourquoi pas un sigma 18-50@f2.8 constante (avec macro aussi, à 20cm) ? Il existe aussi des équivalents chez Tamron ou Tokina ($++). Ils sont plutôt lumineux et plutôt bon marché (300-600 euros). Il y a plein de bla sur le ternet pour voir.
    Descendre sous f2 est synonyme de $$$. Je ne suis pas sûr de l’intérêt de la focale fixe pour cette gamme d’objectifs.
    Après, c’est une question de choix et d’envie

  3. @Cécile les bouquins jeunesse, c’est moins mon rayon que celui de quelqu’un d’autre 😛
    @Jerome j’allais dire « bin, parce que je l’avais pas vu, cte question », mais ça aurait pas été vrai : je l’ai vu passer, j’ai grimacé sur le 450g (il est deux fois plus lourd que la fixe) (ce qui est logique, hein) – et je visais à ce moment là plutôt le 1.4. Mais tu as raison, je crois qu’il va re-rentrer dans les choix à considérer :p

  4. @ChrisJ oups, désolée pour le passage à la trappaspam :p
    Dans un instant d’aberration profond j’ai pas pensé à générer du Gnuplot… me suis arrêtée à « pff, générer histogramme, pff, prise de chou, pff, rendu graphique, bof » bon, va falloir que je reprenne mon script, du coup :p

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s