Exif是一种图像文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈快门白平衡ISO焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。
 
EXIF最初由日本电子工业发展协会在1996年制定,版本为1.0。1998年,升级到2.1,增加了对音频文件的支持。2002年3月,发表了2.2版。

EXIF可以附加于JPEG、TIFF、RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。

中文名
Exif
外文名
Exchangeable Image File
类    型
图像文件格式
支持类型
JPEG、TIFF、RAW等

Exif 标准

编辑

EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、 缩略图及其他属性信息。Exif标准最初由日本电子工业发展协会(JEIDA - Japan Electronic Industry Development Association)制订,目前的最新版本是发布于2010年04月的 Exif 2.3 版,该版本曾在2012年12月以及2013年5月有所修正[1]  ,并已经应用到各个厂商的新影像设备中。
Exif 文件实际是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。所以你可以使用任何支持JPEG格式的图像工具 软件观看 Exif 文件,但图像一旦被修改,Exif 信息可能会永久丢失,故编辑 Exif 必须使用专门的软件。
简单来说,Exif 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,它就好像是傻瓜相机的日期打印功能一样,只不过 Exif信息所记录的资讯更为详尽和完备。Exif 所记录的元数据信息非常丰富,主要包含了以下几类信息:
  • 拍摄日期
  • 拍摄器材(机身、镜头、闪光灯等)
  • 拍摄参数(快门速度、光圈F值、ISO速度、焦距、测光模式等)
  • 图像处理参数(锐化、对比度、饱和度、白平衡等)
  • 图像描述及版权信息
  • GPS定位数据
  • 缩略图

厂商注释

编辑

厂商注释(MakerNote)是储存在 Exif 中的厂商专有的注释数据,采用二进制格式,由不同的厂商自行制订,因此没有统一的标准,往往只能由生产商读取。厂商注释往往记录了许多 Exif 标准中未被正式定义的标签,比如快门次数、白平衡微调、人脸侦测信息、连拍序列、对焦数据等等,大大扩展了 Exif 标准的局限性。
由于缺乏统一的行业标准,加之设备生产商往往不对外公布其厂商注释采用的 格式,使得解码和识别厂商注释变得十分困难。一般的 Exif 查看软件并不能解码厂商注释数据,目前能够正确读取并识别的厂商注释项目的Exif 查看/编辑软件比较少,主要有:ExifTool、MagicEXIF(中文支持)、bkviewer、JPEGsnoop(仅限佳能和尼康)等。

历史版本

编辑

修正版本 发布日期 备注
Exif 1.0
  
1995年10月
  
第一个Exif标准版本,定义了Exif使用的基础数据结构和标签格式
Exif 1.1 1997年5月 添加更多Exif标签
Exif 2.0
  
1997年11月 添加GPS标签和缩略图
Exif 2.1
  
1998年12月
  
添加DCF可交换性标签
Exif 2.2
  
2002年4月 添加与定位有关的标签
Exif 2.21 2003年9月 添加并修正一些标签,加入操作准则
Exif 2.21(统一版本) 2009年9月
  
合并 Exif 2.2 和 Exif 2.21 的内容,并添加多个附表
Exif 2.3 2010年4月
  
重新编整文章结构,添加镜头和感光度相关标签

历史发展

编辑

Exif
标准是在1996年制定出来的,当时日本电子和信息技术协会(JEITA)决定为数码相机厂商制定一套标准,最后的结果就是产生了Exif 1.0。
到了1998,数码相机的发展取得了新的成就,数码相机的普及趋势越来越明显,于是JEITA 决定升级Exif标准,于是推出了 Exif
2.1,新标准中增加了一些新的规定,包括对音频文件的支持,能够对更复杂的照片进行, 改变了色调采样方式,并且规定缩略图也必须包含图像头。Exif
2.1 现在已经得到广泛的认可,对用户来说可以获得非常多的完备的照片信息。
到了2002年3月份,JEITA再次发表了Exif标准的最新版本,增加了一些有利于照片打印的参数支持。
就目前的数字照片打印来看,一般的数字照片打印处理可能会带来一些质量不
好的打印结果,如果打印机从数码相机中获得更多的照片拍摄时候的信息,那么对于效果更好的打印质量是有帮助的。其实这个问题已经被有些厂商所意识到,例如
Epson就已经开发出Print Image Matching (PrintIM) 技术,而Exif 2.2的出现使得
PrintIM技术标准化,这对于协调数码相机厂商和打印机厂商都是非常有效的做法。
Exif 2.2中最有特色的地方就在于新推出的Exif
Print。它里面包含着有助于数码照片打印的有效信息,这些增加的信息包含在照片文件头中,所有这些信息都有助于照片打印,有了这些信息的帮助,打印机
就不会再把夜景拍摄照片当作普通风景照片来打印,对于每张照片的处理都可以达到这样精确的地步。Exif 2.2标准可以准确再现当时拍摄时候的画面。
Exif
2.21标准在2003年9月正式对外发布,并在2009年9月完成最终的统一修订,将 Exif 2.2 与 2003 版的Exif 2.21
进行了合并。新Exif 2.21标准与之前的标准对大的区别在于添加了多个附录,用以记录旧版本标准以及更新信息,并提供操作 Exif
的一系列准则。由于其发布时间正值数码相机普及的年代,这个版本一度成为大部分数码相机沿用的标准。
直到2010年4月,由于沿用了七年之久的 Exif 2.21 已经不能满足数码相机的发展需要,JEITA 发布了 Exif 2.3,这一版本中主要添加和修正了镜头、感光度、GPS等相关的标签,并重新整理了说明文档的结构 [1] 
。目前各大生产商已经陆续将其下属的新型号产品迁移到新标准上。

常见标签

编辑

所有的JPEG文件以字符串“0xFFD8”开头,并以字符串
“0xFFD9”结束。文件头中有一系列“0xFF??”格式的字符串,称为“JPEG标识”或“JPEG段”,用来标记JPEG文件的信息段。
“0xFFD8”表示图像信息开始,“0xFFD9”表示图像信息结束,这两个标识后面没有信息,而其它标识紧跟一些信息字符。
0xFFE0 --
0xFFD9之间的标识符称为“应用标记”,一般称为APPn,JPEG的编码和解码并不会使用这些段,Exif
正是利用这些信息串记录拍摄信息如快门速度、光圈值等,甚至可以包括全球定位信息。按照 Exif
标准对这些标识符的定义,数码相机可以把各种拍摄信息记入数码图像中,应用软件可以读取这些数据,再按照 Exif
标准,检索出它们的具体含义,一般而言包括以下一些信息[2] 
标签号 Exif 定义名 中文定义名 备注
0x010E
  
ImageDescription 图像描述 -
0x013B Artist 作者 使用者的名字
0x010F Make 生产商 相机生产厂家
0x0110 Model 型号 相机型号
0x0112 Orientation 方向 有的相机支持,有的不支持
0x011A XResolution 水平方向分辨率 -
0x011B YResolution 垂直方向分辨率 -
0x0128 ResolutionUnit 分辨率单位 -
0x0131 Software 软件 固件Firmware版本或编辑软件
0x0132 DateTime 日期和时间 照片最后的修改时间
0x0213 YCbCrPositioning YCbCr定位 色度抽样方法
0x8769 ExifOffset Exif子IFD偏移量 -
0x829A
ExposureTime 曝光时间 即快门速度
0x829D FNumber 光圈系数 光圈的F值
0x8822 ExposureProgram 曝光程序 自动曝光、光圈优先、快门优先、M档等
0x8827 ISOSpeedRatings ISO感光度 Exif 2.3 中更新为 “PhotographicSensitivity”
0x9000 ExifVersion Exif 版本 参见“历史版本”一节
0x9003 DateTimeOriginal 拍摄时间 照片拍摄的时间
0x9004 DateTimeDigitized 数字化时间 照片被写入内存卡的时间
0x9204 ExposureBiasValue 曝光补偿 -
0x9205 MaxApertureValue 最大光圈 APEX为单位
0x9207 MeteringMode 测光模式 平均测光、中央重点测光、点测光等
0x9208 Lightsource 光源 一般记录白平衡设定
0x9209 Flash 闪光灯 记录闪光灯状态
0x920A FocalLength 镜头焦距 镜头物理焦距
0x927C MakerNote 厂商注释 参见“厂商注释”一节
0x9286 UserComment 用户注释 用户自定义数据
0xA000 FlashPixVersion FlashPix版本 -
0xA001 ColorSpace 色彩空间 一般为sRGB
0xA002 ExifImageWidth 图像宽度 图像横向像素数
0xA003 ExifImageLength 图像高度 图像纵向像素数
0xA433
  
LensMake 镜头生产商 -
0xA434 LensModel 镜头型号 -

作用

编辑

提高摄影水平

通过查看优秀作品的
Exif参数,你能够知道作者使用的器材,并且了解到作者所处的环境以及拍摄时使用的相机设置。通过比对Exif数据与图像内容,你可以直观地了解到曝光
组合的不同会对图像产生什么影响、以及不同焦距的镜头会产生什么样的视觉效果等,从而在以后的拍摄中进行改进,这也是数码照片相对于传统胶片的一个重要优
势。

提供编辑依据

很多图像编辑器会自动读取Exif数据来对图像进行优化,最常见的便是从
Exif中读取出相机姿态信息,从而自动识别出竖拍甚至是颠倒拍摄的照片并对其进行旋转校正。也有一些软件可以根据
Exif中的机内处理信息对图像进行针对性优化,从而保证图像不会因为过度处理而失真。

方便管理

Exif 除了记录技术性参数之外,还允许用户加入自定义的信息。比如通过 GPS 信息可以知道照片具体的拍摄地点,Windows 允许用户加入图像关键词便于用户日后的搜索和归类,加入图像描述或者注释还可以记录照片拍摄时的有趣故事。

验证原图

由于照片经过图像处理软件的编辑后会丢失部分或全部的
Exif元数据,因此 Exif信息的完整与否还是判断照片是否为相机直出的原始图像的重要依据。比如 Adobe Photoshop
在编辑图像后会删除大部分非技术参数,并将一些项目修改为其特有的值,因此很容易能够得知图像的编辑历史[3] 
参考资料
  • 1.

    JEITA CP-3451B, Exchangeable image file format for digital still cameras: Exif Version 2.3 [S]. JEITA & CIPA, 2010.

  • 2.

    JEITA CP-3451, Exchangeable image file format for digital still cameras: Exif Version 2.2 [S]. JEITA, 2002.

  • 3.

    EXIF信息有什么作用?
    .MagicEXIF[引用日期2015-06-29]

Exif的更多相关文章

  1. 用C#读取相片(JPG图片)的EXIF信息的方法

    引言:EXIF,是英文Exchangeable Image File{}#endregion#region 数据转换结构/// summary>/// 转换数据结构/// /summary> ...

  2. 七牛--关于图片上传方向不统一的问题--主要关于图片EXIF信息中旋转参数Orientation的理解

    [图片引用方向纠正]直接在图片后面添加 ?imageMogr/auto-orient eg:http://data.upfitapp.com/data/2016/10/18/1629114767606 ...

  3. 为现有图像处理程序添加读写exif的功能

    为现有图像处理程序添加读取exif的功能 exif是图片的重要参数,在使用过程中很关键的一点是exif的数据能够和图片一起存在.exif的相关功能在操作系统中就集成了,在csharp中也似乎有了实现. ...

  4. 图片Exif 信息中Orientation的理解和对此的处理

    这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题 ...

  5. Exif.js 读取图像的元数据

    Exif.js 提供了 JavaScript 读取图像的原始数据的功能扩展,例如:拍照方向.相机设备型号.拍摄时间.ISO 感光度.GPS 地理位置等数据. 注意事项: EXIF 数据主要来自拍摄的照 ...

  6. Android 获取图片exif信息

    使用android api读取图片的exif信息 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...

  7. 七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解

    EXIF(Exchangeable Image File)是 “可交换图像文件” 的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数.缩略图及其他属性信息,简单来说,Ex ...

  8. 开启PHP exif扩展方法详解

    服务器配置说明: 1.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分号2.在php.ini文件中找到;extension=php_mbstring.dll,去掉 ...

  9. C#下取得Exif中照片拍摄日期

    /// <summary> /// 获取Exif中的照片拍摄日期 /// </summary> /// <param name="fileName"& ...

随机推荐

  1. android 获取本机SMI卡号码

    //获取手机号码 TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); S ...

  2. Neutron分析(4)—— neutron-dhcp-agent

    一.概述 neutron dhcp为租户网络提供DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务. 3个主要的部件: DHCP agent scheduler:负责DHCP ag ...

  3. 使用ajaxfileupload.js上传文件

    一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...

  4. Spring之IoC总结帖

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...

  5. POJ3013 Big Christmas Tree[转换 最短路]

    Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 23387   Accepted: 5 ...

  6. 06章 Struts2国际化

    1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...

  7. AC日记——石头剪子布 openjudge 1.7 04

    04:石头剪子布 总时间限制:  1000ms 内存限制:  65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...

  8. SQL主外键和子查询

    主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...

  9. [No000039]操作系统Operating Systems用户级线程User Threads

    多进程是操作系统的基本图像 是否可以资源不动而切换指令序列? 进程 = 资源 + 指令执行序列 线程: 保留了并发的优点,避免了进程切换代价 实质就是映射表不变而PC 指针变 多个执行序列+ 一个地址 ...

  10. virtual box使用

    1.工具栏菜单显示 用的是mac电脑.开始发现分辨率小,选了视图->全屏模式的菜单之后发现工具栏菜单不见了. 解决办法:用一个外置键盘,右ctrl+c进行恢复 virtualBox菜单栏和状态栏 ...