Les Métadonnées EXIF

Sciences numériques et technologie

donnees

Un fichier "image" issu d'un appareil photo numérique contient plus qu'une simple image. On trouve en effet des informations sur l'image elle-même (définition, résolution...) mais aussi des informations sur la prise de vue (date et heure, lieu...). Cette spécification des fichiers "image" d'un appareil photo numérique s'appelle EXIF (EXchangeable Image file Format). Ces données contenues dans un fichier "image" d'un appareil photo s'appellent des métadonnées.

Nous allons découvrir les données EXIF en menant une petite enquête. nous allons devoir reconstituer les différentes étapes de la croisière de Mme et M. DUPONT dans le cadre d'une enquête de police. Il semble qu’ils en aient rajouté une !

Télécharger les photos de la croisière. (il faut dezziper pour les utiliser correctement)

On peut consulter les métadonnées d'un fichier en faisant clic droit sur la page et en sélectionnant "propriétés".

Entraînement 1

Relever les coordonnées des différentes prises de vues :

Entraînement 2

A l'aide de geoPortail, tracer le parcours réel de la croisière Calculer la distance parcourue par le bateau durant la croisière à partir de l'application en ligne Géoportail.

carte
Carte de la croisière à compléter

Aide pour l'utilisation de geoportail.


Source :

Une activité deNicolas Tourreau

Pour aller plus loin (FACULTATIF)

La plupart des logiciels de retouche photo permettent de lire ces métadonnées. Nous n'allons pas utiliser ce type de logiciel, nous allons plutôt écrire un petit programme Python (plus précisément, nous utiliserons la bibliothèque Python "PIL").

Entraînement 1

Créez un dossier nommé "exif", enregistrez l'image suivante : "photo.jpg"(clic droit, "Enregistrer sous") dans ce dossier "exif".

Entraînement 2

En utilisant le logiciel Thonny, saisissez et testez le programme suivant (il faudra enregistrer le fichier contenant ce programme dans le dossier "exif" ) :

import PIL.Image
img = PIL.Image.open('photo.jpg')
exif_data = img._getexif()
			

Après avoir exécuté le programme, utilisez l'"Explorateur de variables" de Thonny, pour analyser le contenu de la variable "exif_data", vous devriez avoir quelque chose qui ressemble à cela :

pixel

Entraînement 3

Comme vous pouvez le constater, nous avons un système clé:valeur (à chaque clé correspond une valeur). Les clés sont "codées" par des nombres, pour comprendre la signification de ces nombres, consultez le site http://www.exiv2.org/tags.html.

En vous aidant du site web cité ci-dessus, essayez de trouver les informations suivantes pour l'image "photo.jpg" :

  • la largeur de l'image en pixel
  • la hauteur de l'image en pixel
  • le fabricant du matériel
  • la date et l'heure de la prise de vue

La clé "34853" n'est pas tout le temps présente puisqu'il s'agit des coordonnées (latitude, longitude) de la prise de vue, il faut donc que l'appareil photo intègre un GPS (ce qui est le cas des smartphones), si nous double-cliquons sur cette clé "34853", nous obtenons les informations suivantes :

pixel

Les lignes 1, 2, 3 et 4 vont particulièrement nous intéresser :

  • ligne 1 : précise que nous sommes dans l'hémisphère Nord
  • ligne 2 : nous avons la latitude ((47, 1), (37, 1), (29107360, 1000000)) nous avons ici une latitude en degrés, minute, seconde (ici : 47 degrés 37 minutes et 29,107360 secondes, aussi noté 47°37'29,107360")
  • ligne 3 : précise que nous sommes à l'ouest (W) du méridien de Greenwich
  • ligne 4 : nous avons la longitude ((3, 1), (25, 1), (42976570, 1000000)) ici aussi la longitude est donnée en degrés, minute, seconde (ici : 3°25'42,976570")

Pour convertir des (degrés, minute, seconde aussi noté DMS) en "degrés décimaux" (DD) (unité que nous avons utilisée dans le module "cartographie"), il faut appliquer la formule suivante :

DD = degrés+(minute/60)+(seconde/3600)

ATTENTION : pour que la conversion soit correcte, il faut ajouter un signe moins devant la longitude au format DD si nous sommes situés à l'ouest du méridien de Greenwich.

Entraînement 4

En vous aidant de ce qui a été expliqué ci-dessus et de ce que vous avez vu dans le module "cartographie", écrivez un programme Python permettant de générer une carte Open Street Map avec un marqueur situé à l'endroit où a été prise la photo "photo.jpg"

Entraînement 5

Recommencez ce qui a été demandé dans le "Entraînement 4" avec, par exemple, une photo prise avec votre smartphone.