Python >> Tutoriel Python >  >> Python

Quelle est la meilleure façon d'enregistrer des métadonnées d'image avec un fichier TIFF ?

Formulation du problème

Vous créez des images au format TIFF (Tag Image File Format). Vous souhaitez ajouter des métadonnées personnalisées à l'image, telles que l'emplacement ou d'autres informations contextuelles importantes pour le post-traitement. Comment pouvez-vous y parvenir ?

Solution

  • Installer et importer la bibliothèque tiffile .
  • Utilisez le tiffile.imsave() fonction pour stocker le fichier à un emplacement donné.
  • Comme arguments, utilisez le nom de fichier comme premier argument positionnel, l'image comme deuxième argument positionnel.
  • Ajoutez ensuite vos métadonnées personnalisées sous forme de chaîne pour l'argument de mot clé description .
  • Vous pouvez maintenant récupérer les métadonnées en appelant la ligne tifffile.TiffFile(filename).pages[0].tags["ImageDescription"].value .

Voici un exemple un peu plus lisible :

import json
import numpy as np
import tifffile

image = np.random.randint(0, 255, size=(100, 100), dtype=np.uint8)
filename = 'your_file.tif'

# Create custom description
my_description = "I recorded this image on Mars"

# Write the file
tifffile.imsave(
    filename,
    image,
    description = my_description
)

# Read the file
frames = tifffile.TiffFile(filename)
page = frames.pages[0]

# Print file description
print(page.tags["ImageDescription"].value)

Vous pouvez essayer cet exemple dans notre Jupyter Notebook interactif dans votre navigateur pour tester si c'est ce dont vous avez besoin :

J'espère que ce petit tuto vous a plu ! Si vous souhaitez améliorer vos compétences Python sur le pilote automatique, consultez mon académie de messagerie gratuite :

Nous avons des feuilles de triche ! 😉