Сообщить об ошибке.

Извлечение EXIF-тегов модулем Pillow в Python

Извлечение EXIF-тегов из фотографий

Пример извлечения EXIF-данных фотографии.

Код ниже читает словарь EXIF-кодов и их значений из фотографии 'photo.jpg' и сопоставляет коды с известными значениями ExifTags.TAGS:

from PIL import Image, ExifTags

# присваиваем словарь с известными 
# EXIF-кодами переменной `tags`
tags = ExifTags.TAGS
# открываем изображение
with Image.open('photo.jpg') as img:
    # получаем словарь EXIF-кодов
    # из изображения 'photo.jpg'
    exif = img._getexif()
    for key, val in exif.items():
        # сопоставляем `EXIF`-коды с известными
        # значениями из `ExifTags.TAGS`
        print(tags.get(key, key), ':', val)

Содержание:

Подмодуль ExifTags предоставляет несколько классов enum.IntEnum, которые содержат константы и имена в открытом виде для различных известных тегов EXIF.


Значения EXIF-кодов в виде классов enum.IntEnum.

ExifTags.Base:

>>> from PIL.ExifTags import Base
>>> Base.ImageDescription.value
# 270
>>> Base(270).name
# 'ImageDescription'

ExifTags.GPS:

>>> from PIL.ExifTags import GPS
>>> GPS.GPSDestLatitude.value
# 20
>>> GPS(20).name
# 'GPSDestLatitude'

ExifTags.Interop:

>>> from PIL.ExifTags import Interop
>>> Interop.RelatedImageFileFormat.value
# 4096
>>> Interop(4096).name
# 'RelatedImageFileFormat'

ExifTags.IFD:

>>> from PIL.ExifTags import IFD
>>> IFD.Exif.value
# 34665
>>> IFD(34665).name
# 'Exif

ExifTags.LightSource:

>>> from PIL.ExifTags import LightSource
>>> LightSource.Unknown.value
# 0
>>> LightSource(0).name
# 'Unknown'

Значения EXIF-кодов в виде словарей.

ExifTags.TAGS:

Словарь TAGS сопоставляет 16-битные целочисленные перечисления тегов EXIF ​​с описательными строковыми именами.

Например:

>>> from PIL.ExifTags import TAGS
>>> TAGS[0x010e]
# 'ImageDescription'

ExifTags.GPSTAGS:

Словарь GPSTAGS сопоставляет 8-разрядные целочисленные перечисления EXIF GPS с описательными строковыми именами.

Например:

>>> from PIL.ExifTags import GPSTAGS
>>> GPSTAGS[20]
# 'GPSDestLatitude'