Я могу получать данные EXIF с изображения с помощью PIL, но как я могу получить дату и время, когда была сделана фотография?
Получить дату и время, когда фотография была сделана из данных EXIF с использованием PIL
Ответ 1
Нашел ответ в конце концов, тег, который мне нужен, был 36867:
from PIL import Image
def get_date_taken(path):
return Image.open(path)._getexif()[36867]
Ответ 2
Мне нравится использовать exif-py
, потому что он чистый Python, не требует компиляции/установки и работает с Python 2.x и 3.x, что делает его идеальным для объединения с небольшими переносимыми приложениями Python.
Ссылка: https://github.com/ianare/exif-py
Пример получения даты и времени, когда была сделана фотография:
import exifread
with open('image.jpg', 'rb') as fh:
tags = exifread.process_file(fh, stop_tag="EXIF DateTimeOriginal")
dateTaken = tags["EXIF DateTimeOriginal"]
return dateTaken
Ответ 3
try:
import PIL
import PIL.Image as PILimage
from PIL import ImageDraw, ImageFont, ImageEnhance
from PIL.ExifTags import TAGS, GPSTAGS
except ImportError as err:
exit(err)
class Worker(object):
def __init__(self, img):
self.img = img
self.get_exif_data()
self.date =self.get_date_time()
super(Worker, self).__init__()
def get_exif_data(self):
exif_data = {}
info = self.img._getexif()
if info:
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
if decoded == "GPSInfo":
gps_data = {}
for t in value:
sub_decoded = GPSTAGS.get(t, t)
gps_data[sub_decoded] = value[t]
exif_data[decoded] = gps_data
else:
exif_data[decoded] = value
self.exif_data = exif_data
# return exif_data
def get_date_time(self):
if 'DateTime' in self.exif_data:
date_and_time = self.exif_data['DateTime']
return date_and_time
def main():
date = image.date
print(date)
if __name__ == '__main__':
try:
img = PILimage.open(path + filename)
image = Worker(img)
date = image.date
print(date)
except Exception as e:
print(e)
Ответ 4
Из файла dict, возвращаемого _getexif() с помощью ключа 'DateTimeOriginal'?
Ответ 5
Я хотел бы иметь возможность записать координаты и время в формате JPG (exif). Не могли бы вы помочь мне? Я использую Python Spyder.