🚀 Extraire et Interpréter les Métadonnées et Données EXIF d’une Image en Python 📸

ArthurArthur
4 min read

Les métadonnées et données EXIF d'une image contiennent des informations précieuses sur la prise de vue, comme l'appareil utilisé, les réglages de capture, et parfois même l'emplacement GPS. Grâce à Python et aux bibliothèques Pillow et ExifRead, il est simple d'accéder à ces données pour mieux comprendre une image. Dans ce tutoriel, découvrez comment extraire et interpréter ces informations pour des fichiers JPEG. 🌟


Prérequis : Installation des Bibliothèques

Pour ce tutoriel, nous utilisons deux bibliothèques Python :

  • Pillow : Manipulation et traitement des images.

  • ExifRead : Extraction des données EXIF des fichiers image.

Installez-les avec la commande suivante :

pip install Pillow exifread

💡 Si vous rencontrez des problèmes, consultez la documentation de Pillow et ExifRead.


🔍 Qu’est-ce que les Données EXIF ?

Les données EXIF (Exchangeable Image File Format) contiennent des informations techniques sur les conditions de capture d'une image :

  • Réglages de l’appareil : Vitesse d'obturation, ouverture, ISO.

  • Date et heure : Moment exact de la prise de vue.

  • Coordonnées GPS : Localisation du lieu de capture.

  • Logiciel : Programme utilisé pour modifier l'image (si applicable).

Ces informations sont intégrées dans les métadonnées d’une image par les appareils photo numériques ou les logiciels d’édition.


🛠️ Créer un Script Python pour Extraire les Données

Voici un script Python complet pour extraire les métadonnées et données EXIF :

from PIL import Image
import exifread

def display_exif_data(image_path):
    """Affiche les données EXIF d'une image."""
    with open(image_path, 'rb') as image_file:
        tags = exifread.process_file(image_file)
        if tags:
            print("Données EXIF trouvées :")
            for tag, value in tags.items():
                print(f"{tag}: {value}")
        else:
            print("Aucune donnée EXIF trouvée.")

def display_image_metadata(image_path):
    """Affiche les métadonnées générales d'une image."""
    with Image.open(image_path) as img:
        print("\nMétadonnées de l'image :")
        print(f"Format : {img.format}")
        print(f"Mode : {img.mode}")
        print(f"Taille : {img.size}")
        print(f"Palette : {img.palette}")
        print(f"Infos supplémentaires : {img.info}")

# Exemple d'utilisation
image_path = 'chemin/vers/votre/image.jpeg'
display_exif_data(image_path)
display_image_metadata(image_path)

💡 Remplacez "chemin/vers/votre/image.jpeg" par le chemin réel de votre image.


📊 Exemple de Résultats

Voici un exemple de données extraites avec ce script :

Métadonnées Générales

  • Format : JPEG

  • Mode : RGB

  • Taille : 1920 x 1080 pixels

  • Infos supplémentaires : {'dpi': (72, 72)}

Données EXIF

  • Appareil : Canon EOS 40D

  • Date et heure de prise de vue : 30 mai 2008, 15:56:01

  • Temps d'exposition : 1/160 s

  • Ouverture : f/7.1

  • ISO : 100

  • Longueur focale : 135 mm

  • Orientation : Horizontale

  • Espace colorimétrique : sRGB

  • Coordonnées GPS : 48° 51' 29.99" N, 2° 17' 40.98" E (Paris, France)


🧐 Interprétation des Données

1️⃣ Informations générales sur l’appareil

  • Appareil : Canon EOS 40D indique que l’image a été prise avec un appareil reflex numérique.

  • Logiciel : GIMP 2.4.5 a été utilisé pour modifier l’image après capture.

2️⃣ Conditions de prise de vue

  • ISO : Une sensibilité ISO de 100, idéale pour des conditions lumineuses.

  • Temps d’exposition : 1/160 s, une vitesse rapide pour figer les mouvements.

  • Ouverture : f/7.1, standard pour une profondeur de champ équilibrée.

3️⃣ Géolocalisation

  • Les données GPS montrent que la photo a été prise à Paris, avec une altitude de 35 mètres.

4️⃣ Modifications

  • La photo a été modifiée le 31 juillet 2008, environ deux mois après sa capture.

🌍 Applications Pratiques

  • Organisation des collections d’images : Trier et classer vos photos selon la date, le lieu ou l’appareil utilisé.

  • Analyse technique : Étudier les performances de votre appareil ou optimiser vos réglages.

  • Géolocalisation : Identifier où vos photos ont été prises grâce aux données GPS.

  • Détection des modifications : Vérifier si une image a été altérée après la capture.


🌟 Conclusion

En utilisant Pillow et ExifRead, vous pouvez facilement extraire et analyser les métadonnées d'une image. Que ce soit pour organiser vos fichiers, comprendre les conditions de capture, ou détecter des modifications, ces outils offrent une grande flexibilité.

📚 Explorez davantage :

💡 Expérimentez avec vos propres fichiers et découvrez les secrets cachés dans vos images ! 🚀

Vous pouvez retrouver mon script permettant d’extraire une multitude de données dont les EXIF ici

0
Subscribe to my newsletter

Read articles from Arthur directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Arthur
Arthur

Bonjour, je suis Arthur. Un développeur Python avec une expérience particulière dans le secteur des assurances.