首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python读取Exif :可能在MakerNote IFD中损坏字段标记0x0000

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

Stack Overflow用户
提问于 2018-08-12 03:57:41
回答 1查看 1.8K关注 0票数 3

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

我的剧本说:

代码语言:javascript
复制
import exifread
f = open('P8110003.JPG', 'rb')
tags = exifread.process_file(f)

我得到消息'Possibly corrupted field Tag 0x0000 in MakerNote IFD' --我尝试了五个不同的jpg文件,它们都得到了相同的消息。我今天拍的照片-它们真的都很腐败吗?

这是不返回错误:

代码语言:javascript
复制
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不起作用的原因,我会感兴趣的。

EN

回答 1

Stack Overflow用户

发布于 2019-12-21 08:43:10

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

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

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

我应该担心吗?虽然有些制造商保留这种专有格式的重要信息(例如尼康对ISO速度),但信息通常是不重要的。

我该怎么做?只是忽略它,它不影响照片质量或相关信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51805562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档