使用Python读取Exif:MakerNote IFD中的字段标记0x0000可能已损坏

使用Python读取Exif:MakerNote IFD中的字段标记0x0000可能已损坏,python,image,tags,exif,Python,Image,Tags,Exif,我正在做一个项目,我想从.jpg图像中读取元数据,然后将它们写入一个文件。我在奥林巴斯TG-4上拍摄了一些照片,并尝试用Python 3读取Exif数据 我的剧本说: import exifread f = open('P8110003.JPG', 'rb') tags = exifread.process_file(f) 我收到消息“MakerNote IFD中的字段标记0x0000可能已损坏” 我尝试了五个不同的jpg文件,它们都产生了相同的消息。我今天拍了这些照片——它们都是真的腐败吗

我正在做一个项目,我想从
.jpg
图像中读取元数据,然后将它们写入一个文件。我在奥林巴斯TG-4上拍摄了一些照片,并尝试用Python 3读取Exif数据

我的剧本说:

import exifread
f = open('P8110003.JPG', 'rb')
tags = exifread.process_file(f)
我收到消息
“MakerNote IFD中的字段标记0x0000可能已损坏”
我尝试了五个不同的jpg文件,它们都产生了相同的消息。我今天拍了这些照片——它们都是真的腐败吗

这不会返回错误:

import PIL.Image
import PIL.ExifTags
img = PIL.Image.open('P8110003.JPG')
exif_data = img._getexif()

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

list(exif_data.values())
print(exif_data.values())

所以我假设相机以Exifrad不希望的专有格式存储元数据?我只想读取元数据并将其存储在文本文件中,然后导入数据库。我想从字典里读出来是一个可行的解决办法。如果有人能解释为什么Exifrad不起作用,我会很感兴趣。

因为一个类似的问题,我正在做一些小的研究。我知道这个问题已经很老了,但也许有些新人也会有同样的问题(比如我)

什么是MarkerNote标签? “MakerNote”标签包含图像信息,通常采用专有的二进制格式,其中一些“特定于制造商”的标签被“解码”,但它们不应包含“外部世界”可以访问的信息

为什么此MarkerNote标记如此容易损坏? 如果通过插入或编辑MakerNote标记之前的标记(例如添加版权信息或Exif注释)来移动MakerNote标记,则专有格式可能会中断

我应该担心吗? 尽管一些制造商以这种专有格式保存重要信息(例如,尼康用于ISO Speed),但这些信息通常并不重要

我该怎么办?
忽略它,它不会影响照片质量或相关信息

我只是尝试了同样的脚本,在不同的相机上拍摄了一张照片-不同的型号和制造商-我没有得到任何错误。