我正在进行一个项目,在这个项目中,我希望从.jpg图像中读取元数据,并将它们写入文件中。我在奥林巴斯TG-4上拍摄了一些照片,并尝试用Python 3读取Exif数据。
我的剧本说:
import exifread
f = open('P8110003.JPG', 'rb')
tags = exifread.process_file(f)我得到消息'Possibly corrupted field Tag 0x0000 in MakerNote IFD' --我尝试了五个不同的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())因此,我假设相机以Exifread不期望的某种专有格式存储元数据?我只想读取元数据并将其存储在文本文件中,然后导入数据库。我想从字典里读出来是一种可行的解决办法。如果有人能解释一下Exifread不起作用的原因,我会感兴趣的。
发布于 2019-12-21 08:43:10
因为一个类似的问题,我在做一些小的研究。我知道这个问题是老的,但是也许有些新的人也会有同样的问题(比如我)。
MarkerNote标签是什么? "MakerNote“标签通常以专有的二进制格式包含图像信息,其中一些”特定于制造商“的信息被”解码“了,但不应该包含”外部世界“应该可以访问的信息。
为什么这个MarkerNote标记如此容易损坏?,如果在MakerNote标记之前插入或编辑一个标记(例如添加版权信息或Exif注释),则专有格式可能会中断。
我应该担心吗?虽然有些制造商保留这种专有格式的重要信息(例如尼康对ISO速度),但信息通常是不重要的。
我该怎么做?只是忽略它,它不影响照片质量或相关信息。
https://stackoverflow.com/questions/51805562
复制相似问题