Python EXIF ​​не может найти дату файла HEIC, но это видно в других инструментах - PullRequest
1 голос
/ 25 сентября 2019

Это похоже на этот вопрос , за исключением того, что решение там у меня не работает.

При просмотре файла HEIC в проводнике Windows я вижу несколько дат.То, что соответствует тому, что я знаю, - это дата, когда я сделал фотографию, озаглавленная «Дата» и «Дата взятия».Другие даты - не то, что я хочу.

Изображение в проводнике Windows

Я пробовал два способа получить данные EXIF ​​из этого файла в Python:

from PIL import Image
_EXIF_DATE_TAG = 36867

img = Image.open(fileName)
info = img._getexif()
c.debug('info is', info)
# If info != None, search for _EXIF_DATE_TAG

Это работает для многих других изображений, но для моих файлов HEIC информация отсутствует.

Я нашел вопрос, связанный выше, и попробовал ответ там (exifread):

import exifread

with open(filename, 'rb') as image:
  exif = exifread.process_file(image)

и exif здесь None.Поэтому мне стало интересно, кодируются ли даты в файле другим способом, а не в EXIF, но эти два инструмента, по-видимому, показывают иначе:

http://exif.regex.info/exif.cgi показывает: EXIF ​​Site

и exiftool показывает: exiftool

Так что я полностью запутался!Я вижу данные EXIF ​​в Windows Explorer и этих инструментах?И если да, то почему ни один инструмент Python не видит его?

Спасибо за любую помощь!

Windows 10, Python 2.7.16.Фотографии были сделаны на iPhone XS, если это актуально.

Обновление: Преобразование файла HEIC в jpg, оба метода работают нормально.

1 Ответ

1 голос
/ 26 сентября 2019

Это проблема с файлом HEIC - он, очевидно, не поддерживается, я думаю, что существуют некоторые трудности с лицензированием.

...