Exif
EXIF可以附加于JPEG、TIFF、RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。
- 中文名
- Exif
- 外文名
- Exchangeable Image File
- 类 型
- 图像文件格式
- 支持类型
- JPEG、TIFF、RAW等
Exif 标准
- 拍摄日期
- 拍摄器材(机身、镜头、闪光灯等)
- 拍摄参数(快门速度、光圈F值、ISO速度、焦距、测光模式等)
- 图像处理参数(锐化、对比度、饱和度、白平衡等)
- 图像描述及版权信息
- GPS定位数据
- 缩略图
厂商注释
历史版本
修正版本 | 发布日期 | 备注 |
---|---|---|
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月 |
重新编整文章结构,添加镜头和感光度相关标签 |
历史发展
标准是在1996年制定出来的,当时日本电子和信息技术协会(JEITA)决定为数码相机厂商制定一套标准,最后的结果就是产生了Exif 1.0。
到了1998,数码相机的发展取得了新的成就,数码相机的普及趋势越来越明显,于是JEITA 决定升级Exif标准,于是推出了 Exif
2.1,新标准中增加了一些新的规定,包括对音频文件的支持,能够对更复杂的照片进行, 改变了色调采样方式,并且规定缩略图也必须包含图像头。Exif
2.1 现在已经得到广泛的认可,对用户来说可以获得非常多的完备的照片信息。
好的打印结果,如果打印机从数码相机中获得更多的照片拍摄时候的信息,那么对于效果更好的打印质量是有帮助的。其实这个问题已经被有些厂商所意识到,例如
Epson就已经开发出Print Image Matching (PrintIM) 技术,而Exif 2.2的出现使得
PrintIM技术标准化,这对于协调数码相机厂商和打印机厂商都是非常有效的做法。
Print。它里面包含着有助于数码照片打印的有效信息,这些增加的信息包含在照片文件头中,所有这些信息都有助于照片打印,有了这些信息的帮助,打印机
就不会再把夜景拍摄照片当作普通风景照片来打印,对于每张照片的处理都可以达到这样精确的地步。Exif 2.2标准可以准确再现当时拍摄时候的画面。
2.21标准在2003年9月正式对外发布,并在2009年9月完成最终的统一修订,将 Exif 2.2 与 2003 版的Exif 2.21
进行了合并。新Exif 2.21标准与之前的标准对大的区别在于添加了多个附录,用以记录旧版本标准以及更新信息,并提供操作 Exif
的一系列准则。由于其发布时间正值数码相机普及的年代,这个版本一度成为大部分数码相机沿用的标准。
。目前各大生产商已经陆续将其下属的新型号产品迁移到新标准上。
常见标签
“0xFFD9”结束。文件头中有一系列“0xFF??”格式的字符串,称为“JPEG标识”或“JPEG段”,用来标记JPEG文件的信息段。
“0xFFD8”表示图像信息开始,“0xFFD9”表示图像信息结束,这两个标识后面没有信息,而其它标识紧跟一些信息字符。
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信息的完整与否还是判断照片是否为相机直出的原始图像的重要依据。比如 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]
- 1.
Exif的更多相关文章
- 用C#读取相片(JPG图片)的EXIF信息的方法
引言:EXIF,是英文Exchangeable Image File{}#endregion#region 数据转换结构/// summary>/// 转换数据结构/// /summary> ...
- 七牛--关于图片上传方向不统一的问题--主要关于图片EXIF信息中旋转参数Orientation的理解
[图片引用方向纠正]直接在图片后面添加 ?imageMogr/auto-orient eg:http://data.upfitapp.com/data/2016/10/18/1629114767606 ...
- 为现有图像处理程序添加读写exif的功能
为现有图像处理程序添加读取exif的功能 exif是图片的重要参数,在使用过程中很关键的一点是exif的数据能够和图片一起存在.exif的相关功能在操作系统中就集成了,在csharp中也似乎有了实现. ...
- 图片Exif 信息中Orientation的理解和对此的处理
这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题 ...
- Exif.js 读取图像的元数据
Exif.js 提供了 JavaScript 读取图像的原始数据的功能扩展,例如:拍照方向.相机设备型号.拍摄时间.ISO 感光度.GPS 地理位置等数据. 注意事项: EXIF 数据主要来自拍摄的照 ...
- Android 获取图片exif信息
使用android api读取图片的exif信息 布局代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/r ...
- 七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解
EXIF(Exchangeable Image File)是 “可交换图像文件” 的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数.缩略图及其他属性信息,简单来说,Ex ...
- 开启PHP exif扩展方法详解
服务器配置说明: 1.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分号2.在php.ini文件中找到;extension=php_mbstring.dll,去掉 ...
- C#下取得Exif中照片拍摄日期
/// <summary> /// 获取Exif中的照片拍摄日期 /// </summary> /// <param name="fileName"& ...
随机推荐
- android 获取本机SMI卡号码
//获取手机号码 TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); S ...
- Neutron分析(4)—— neutron-dhcp-agent
一.概述 neutron dhcp为租户网络提供DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务. 3个主要的部件: DHCP agent scheduler:负责DHCP ag ...
- 使用ajaxfileupload.js上传文件
一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...
- Spring之IoC总结帖
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- POJ3013 Big Christmas Tree[转换 最短路]
Big Christmas Tree Time Limit: 3000MS Memory Limit: 131072K Total Submissions: 23387 Accepted: 5 ...
- 06章 Struts2国际化
1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...
- AC日记——石头剪子布 openjudge 1.7 04
04:石头剪子布 总时间限制: 1000ms 内存限制: 65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...
- SQL主外键和子查询
主键 数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键.一个 ...
- [No000039]操作系统Operating Systems用户级线程User Threads
多进程是操作系统的基本图像 是否可以资源不动而切换指令序列? 进程 = 资源 + 指令执行序列 线程: 保留了并发的优点,避免了进程切换代价 实质就是映射表不变而PC 指针变 多个执行序列+ 一个地址 ...
- virtual box使用
1.工具栏菜单显示 用的是mac电脑.开始发现分辨率小,选了视图->全屏模式的菜单之后发现工具栏菜单不见了. 解决办法:用一个外置键盘,右ctrl+c进行恢复 virtualBox菜单栏和状态栏 ...