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"& ...
随机推荐
- 关于 redis、memcache mongoDB 的对比
from:http://yang.u85.us/memcache_redis_mongodb.pdf 从以下几个维度,对 redis.memcache.mongoDB 做了对比.1.性能都比较高,性能 ...
- 在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)
这是06年写的,不知道现在RBL改了没,不过恢复过来做记录,以后可能需要. 实时黑名单(RBL)实际上是一个可供查询的IP地址列表,通过DNS的查询方式来查找一个IP地址的A记录是否存在来判断其是否被 ...
- linux清理内存命令
1.清理前内存使用情况 free -m 2.开始清理 echo 1 > /proc/sys/vm/drop_caches3.清理后内存使用情况 free -m4.完成! 查看内存条数命令: # ...
- Python 标准异常
异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的 ...
- java 判断两个时间相差的天数
1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 ...
- 免费股票数据API接口
免费股票数据API接口提供沪深.香港.美国股市信息. 1.沪深股市 2.香港股市 3.美国股市 4.香港股市列表 5.美国股市列表 6.深圳股市列表 7.沪股列表 API文档:https://www. ...
- 周五了啦啦啦啦-LAMP+PHP‘s OOP
hi 周五咯~~ 1.LAMP配置完结篇 五.LAMP配置环境优化 5.4 虚拟主机工作原理 apache的虚拟主机.virtual-host 用不同的域名访问不同的目录——手动模拟dns 修改hos ...
- 基于Bootstrap的DropDownList的JQuery组件的完善版
在前文 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件 中,实现了DropDownList的JQuery组件,但是留有遗憾.就是当下拉菜单出现滚动条的时候,滚动条会覆 ...
- 自定义右键菜单中bug记录
今天客服部提出一个Bug,拖动滚动条到底部右键表格下方的数据,然后点击拨打电话打出的是表格上面的号码,看了下代码发现bug的原因是因为获取表格中电话号码的方式是通过给tr绑定了mouseover事件, ...
- ToolkitScriptManager, ScriptManager AjaxControlToolkit 出错
在使用ASP.NET AJAX应用时需添加ToolkitScriptManager或者ScriptManager.如果只是使用updatepanel,两者均可.如果有涉及到AJAX Control T ...