Pertanyaan Dalam Python, bagaimana saya membaca data exif untuk sebuah gambar?


Saya menggunakan PIL. Bagaimana cara mengubah data EXIF ​​menjadi kamus barang?


75
2018-01-21 23:27


asal


Jawaban:


Coba ini:

import PIL.Image
img = PIL.Image.open('img.jpg')
exif_data = img._getexif()

Ini akan memberi Anda kamus yang diindeks oleh tag numerik EXIF. Jika Anda ingin kamus diindeks oleh string nama EXIF ​​tag yang sebenarnya, cobalah sesuatu seperti:

import PIL.ExifTags
exif = {
    PIL.ExifTags.TAGS[k]: v
    for k, v in img._getexif().items()
    if k in PIL.ExifTags.TAGS
}

120
2018-01-22 00:21



Anda juga bisa menggunakan ExifRead modul:

import exifread
# Open image file for reading (binary mode)
f = open(path_name, 'rb')

# Return Exif tags
tags = exifread.process_file(f)

23
2017-08-02 23:08



Saya menggunakan ini:

import os,sys
from PIL import Image
from PIL.ExifTags import TAGS

for (k,v) in Image.open(sys.argv[1])._getexif().iteritems():
        print '%s = %s' % (TAGS.get(k), v)

atau untuk mendapatkan bidang tertentu:

def get_field (exif,field) :
  for (k,v) in exif.iteritems():
     if TAGS.get(k) == field:
        return v

exif = image._getexif()
print get_field(exif,'ExposureTime')

13
2017-11-28 10:14