Requisitos previos: PIL
Metadatos significa datos sobre datos. En el caso de las imágenes, los metadatos significan detalles sobre la imagen y su producción. El dispositivo de captura genera automáticamente algunos metadatos.
Algunos detalles contenidos en los metadatos de la imagen son los siguientes:
- Altura
- Ancho
- Fecha y hora
- modelo etc
Python tiene la biblioteca PIL que hace que la tarea de extraer metadatos de una imagen sea extremadamente fácil usando solo unas pocas líneas.
Acercarse:
- Importe el módulo de Pillows .
- Carga la imagen
- Obtenga los metadatos. Los metadatos así obtenidos
- Conviértalo en un formato legible por humanos
Hay muchos tipos de metadatos, pero en este solo nos estamos enfocando en los metadatos Exif.
Exif
Estos metadatos, a menudo creados por cámaras y otros dispositivos de captura, incluyen información técnica sobre una imagen y su método de captura, como configuración de exposición, tiempo de captura, información de ubicación GPS y modelo de cámara.
para esto, he usado esta imagen (el enlace para esto está debajo) asegúrese de que cualquier imagen que esté usando tenga algunos metadatos de tipo EXIF y que la mayoría de los dispositivos de captura tengan datos EXIF
https://drive.google.com/file/d/1z2RaRvzC8Cd8oxD8pZJu2U0rpRr8tbwV/view
NOTA :-por favor evite la imagen compartida a través de whatsapp. Whatsapp elimina todos los metadatos de cualquier imagen
Implementación:
Paso 1: Importación de módulos.
Paso 2: Cargue la imagen y extraiga los datos EXIF.
Paso 3: Convierta la identificación de la etiqueta exif (indicada por tagid en el código) en una forma legible por humanos indicada por el nombre de la etiqueta en el código y obtenga su valor respectivo.
Aplicación para extraer metadatos de una imagen con Pillow : el siguiente script implementa el enfoque anterior
Python3
from PIL import Image from PIL.ExifTags import TAGS # open the image image = Image.open("img.jpg") # extracting the exif metadata exifdata = image.getexif() # looping through all the tags present in exifdata for tagid in exifdata: # getting the tag name instead of tag id tagname = TAGS.get(tagid, tagid) # passing the tagid to get its respective value value = exifdata.get(tagid) # printing the final result print(f"{tagname:25}: {value}")
Producción: