图像元数据(Metadata)
元数据
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描叙数据属性(property)的信息。用来支持如指示存储位置、历史数据、文件记录等功能。元数据就是关于数据的组织、数据域及其关系的信息,简而言之元数据就是关于数据的数据。
图片元信息
图片元信息(Metadata) 是嵌入到图片文件中的一些标签,可以类比为图片的属性,但是种类繁多。但是对于数码图像目前最常见的元数据类型有:EXIF、IPTC、XMP 这三种格式。
- EXIF:通常被数码相机在拍摄照片时自动添加,比如相机型号、镜头、曝光、图片尺寸等信息
- IPTC:比如图片的标题、关键字、说明、作者、版权等信息。主要由人工在后期通过软件写入的数据。
- XMP:XMP 实际上是一种元数据存储和管理的标准,可以将 EXIF、IPTC 或其他的数据都按照 XMP 统一格式存放在图像文件中
元数据的嵌入方式因图像的格式不同而不同,不同格式图像文件(eg: JPG, TIF, JPEG等)有不同的嵌入方式。
图像 EXIF 信息
EXIF(exchangeable image file format, 简称Exif),是一种可交换图像文件的缩写,是专门为数码相机照片设定的可以记录数码照片的属性信息和拍摄数据。Exif 可以附加于 JPEG、TIFF等文件中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。
EXIF 最初是由图本电子工业发展协会在 1996 年制定版本为1.0。1988年升级到2.1,增加了对音频文件的支持。2002年3月发布 2.2 版。
Window7 操作系统具备对 Exif 的原生支持,通过鼠标右键点击图片 => 属性=> 详细信息标签即可查看 Exif 信息,注意 Exif 信息是可以被任意编辑因此 Exif 信息只能作为参考。
Exif 记录的元信息非常丰富,主要包含一下几类信息:
- 拍摄信息
- 拍摄器材(机身、镜头、闪关灯等)
- 拍摄参数(快门速度、光圈F值、ISO速度、焦距、测光模式等)
- 图像处理参数(锐化、对比度、饱和度、白平衡等)
- 图像描述以及版权信息
- GPS 定位数据
- 缩略图
Exif 工具介绍
pyexiv2(推荐)
Pyexiv2 能够读写照片中携带的元信息包括 exif、iptc、xmp
Pyexiv2 安装
pip install pyexiv2
注意⚠️:该库支持小于 2G 图片读取,修改照片元信息支持小于 1G
- pyexiv2 提供开放 API
class Image:
def __init__(self, filename, encoding='utf-8')
def read_exif(self, encoding=