什么是Exif?

Exif是一种图像文件格式,实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。你可以利用任何可以查看JPEG文件的看图软件浏览Exif格式的照片,但并不是所有的图形程序都能处理Exif信息。

EXIF元信息被组织成一个图像中的不同图像文件目录(IFD)。这些IFD的名称与ExifTool系列1组的名称相对应。写入EXIF信息时,除非指定了另一个组,否则将使用下面列出的默认
组。

创建新的IFD时,可以使用默认值自动添加强制标签(在Writable类型之后用冒号表示),如果仅保留默认值的强制标签,则在删除标签时会自动删除IFD。

基本信息


中文名 英文名 类型 支持类型


可执行交换文件 Exchangeable 图像文件格式 JJPG,TIFF,PNG,JP2,PGF,MIFF,HDP,PSP和XCF图像以及许多基于TIFF的RAW图像,甚至某些AVI中找到和MOV视频
Image
File(Exif)


Exif标准

EXIF(Exchangeable Image
File)是"可交换图像文件"的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。Exif标准最初由日本电子工业发展协会(JEIDA -
Japan Electronic Industry Development
Association)制订,目前的最新版本是发布于2010年04月的 Exif 2.3
版,该版本曾在2012年12月以及2013年5月有所修正
,并已经应用到各个厂商的新影像设备中。

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(仅限佳能和尼康)等。

常见标签

所有的JPEG文件以字符串"0xFFD8"开头,并以字符串"0xFFD9"结束。文件头中有一系列"0xFF??“格式的字符串,称为"JPEG标识"或"JPEG段”,用来标记JPEG文件的信息段。"0xFFD8"表示图像信息开始,"0xFFD9"表示图像信息结束,这两个标识后面没有信息,而其它标识紧跟一些信息字符。

0xFFE0 –
0xFFD9之间的标识符称为"应用标记",一般称为APPn,JPEG的编码和解码并不会使用这些段,Exif
正是利用这些信息串记录拍摄信息如快门速度、光圈值等,甚至可以包括全球定位信息。按照
Exif
标准对这些标识符的定义,数码相机可以把各种拍摄信息记入数码图像中,应用软件可以读取这些数据,再按照
Exif 标准,检索出它们的具体含义,一般而言包括以下一些信息


标签号 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感光度

0x9000 ExifVersion Exif 版本

0x9003 DateTimeOriginal 拍摄时间 照片拍摄时间

0x9004 DateTimeDigitized 数字化时间 照片被写入时间

0x9204 ExposureBiasValue 曝光补偿

0x9205 MaxApertureValue 最大光圈

0x9207 MeteringMode 测光模式 平均测光、中央重点测光、点测光

0x9208 Lightsource 光源 一般记录白平衡

0x9209 Flash 闪光灯 闪光灯状态

0x920A FocalLength 镜头焦距 镜头物理焦距

0x927C MakerNote 厂商注释

0x9286 UserComment 用户注释

0xA000 FlashPixVersion FlashPix版本

       ColorSpace          色彩空间          AdobeRGB、sRGB等ExifImageWidth      图像宽度

0xA003 ExifImageLength 图像高度

0xA433 LensMake 镜头生产商

0xA434 LensModel 镜头型号

作用

提高摄影水平

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

版权维护

可以设置一些版权信息。

人工智能分类

Python等编程语言,利用Exif信息对图片进行分类、编辑等。常用的库有PIL
、PIL.ExifTags

提供编辑依据

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

方便管理

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

验证原图

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

包含地理信息

一般的单反相机拍摄的照片是不包含GPS信息的,除非增加相应的GPS附件。但是,我们每个人都有的手机,那可就不一样了。本身手机的内部就包含了GPS,所以在拍照的时候,照片就会自动记录下拍摄地的位置信息。这个就比较可怕了,你的照片就会暴露你的行踪。

回答大家问的比较多的几个问题

朋友圈的照片会不会泄露自己的位置?

这个当然不用担心啦,肯定不会的。我们在上传照片的时候,微信会把Exif信息隐藏掉。所以不必担心会暴露你的行踪。这里必须要提醒一下,如果你在聊天框内发送图片,并且是发送原图的情况下,那是会包含所有的Exif信息的哦!

别人修改过Exif元信息,我能查出来么?

这个问题可能不够准确,可能题主想问,如果用PS等软件修改过图片,能查出来吗?这些是会注入到EXif信息里面的,在Tags里面的软件一栏会提示Adobe
Photoshop软件信息,修改时间等。但是,不排除遇上Exif大神,他可以把参数调整的天衣无缝。不过一般的Exif软件针对Exif元信息里面的一些标签是没有办法修改的,所以一般情况下,只要你修改了,都是会留下痕迹。还是那句话,不排除大神可以把参数平衡好。

**图片元信息Exif**相关推荐

  1. Exiftool 命令行操作图片元信息(Megadata)

    Exiftool 是命令行操作exif最强大的工具. 官方网址. 参考:图片EXIF信息查看与Exiftool使用 参考:如何批量将图片文件名中的时间写入 EXIF 信息? 知乎 安装: # Mac上 ...

  2. Exifinterface图片扩展信息EXIF

    一.ExifInterface类给我们了一个实用的方法publicbyte[]getThumbnail()这个方法可以生成一个缩略图,返回一个字节数组,我们通过以前讲到的通过OutputStream将 ...

  3. html5图exif,获取图片详细信息(exif)

    可获得如下信息(下面只是一个例子) 软件:ILCE-6000 v3.20 相机存档时间:2018-06-20 09:03:37 最后修改时间:2018-06-20 09:03:37 拍摄日期:2018 ...

  4. android获取本地图片后缀,Android向图片文件添加扩展信息EXIF如地点,时间,人物等...

    最近在做一个功能,需要获取图片的拍摄时的地理位置信息,经纬度 我一直想找怎样把经纬度直接存放到文件信息里面去,不然太难维护一一对应的这些信息了,最后终于被我找到了,那就是伟大的图片扩展信息 EXIF ...

  5. 图片上传被旋转,golang Exif 判断.jepg图片原始信息Orientation方向,并旋转,

    jepg图片上传后,换取的url在web的image标签上显示被旋转. 实例:iphone6ps竖拍图片原图上传显示 看图软件打开: 图片为正: 上传后,在image标签内显示为逆时针旋转90度. 此 ...

  6. php 图片压缩 保留exif,Android Bitmap小技巧 - 压缩时保留图片的Exif信息

    大家都知道,相机在照相时是会为照片生成Exif,里面包含有拍照时间.图片尺寸.旋转角度.GPS定位等信息,有时候,我们的APP在展示图片的时候需要获得并展现这些信息. 但是在android中,当我们将 ...

  7. JPEG图片扩展信息读取与改动

    近日项目中须要用到往jpg图片中写入信息(非水印),经调研发现Android中已经封装了读写jpg图片扩展信息的api(ExifInterface). 相应api地址:http://developer ...

  8. 【和ChatGPT对话】帮助新手批量提取图片文字信息到文件

    前言和小结 今天的另外一个案例是模拟有一定编程基础(新新手)的电脑工作者,让 ChatGPT 处理一些图片数据,需求复杂一些. 具体任务是帮助识别学生缴费图片的信息,便于复核.然后 -- ChatGP ...

  9. exiftool 删除和添加图片旋转信息

    原文链接: exiftool 删除和添加图片旋转信息 上一篇: js 图片灰度转换 wasm性能对比 下一篇: 米哈游人工桌面YOYO鹿鸣 通常对于手机拍摄的图片来说, 最好能够去除, 不然会发生一些 ...

最新文章

  1. 解决zabbix3.4图表显示中文乱码问题
  2. C语言 · 求矩阵各个元素的和
  3. PD连接远程mysql_PowerDesigner连接远程Oracle数据库 | 学步园
  4. python 读取pdf 两栏_python 读取pdf
  5. 做技术的你,如果别人找你创业,该怎么办?
  6. 第01期:ubuntu下淘宝网Tengine服务器的搭建
  7. 开源中国社区(OsChina.NET) 8月第3周 精彩回顾
  8. 猜数字游戏编程C语言0到9,【游戏编程】猜数字游戏(C语言)
  9. [3]⾃自定义视图、视图控制器
  10. android 波浪进度条方形,CSS3实现波浪进度条效果方法总结
  11. 【预测模型】BP神经网络的预测
  12. React09——使用脚手架编程
  13. ASP.NET 实习工作总结(前言)
  14. 马斯克的星链计划并不是在免费送网络而是准备收租
  15. 一对一直播app源码开发的前端实现
  16. 《那些年啊,那些事——一个程序员的奋斗史》——94
  17. javax.persistence.OneToMany.orphanRemoval()Z
  18. mysql inet_aton 原理_基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析_MySQL
  19. 亚马逊测评的获得方法及测评环境系统介绍,一次诊断全部解决。
  20. 前端项目——实现qq音乐网页版本(样式+获取数据+播放)

热门文章

  1. Bootstrap.yml 和 application.yml
  2. 计算机类普刊有哪些,可以快速发表论文的计算机普刊
  3. 游戏开发中的数学和物理算法10-18
  4. 天津大学电子海图控件TjuES57Map
  5. 折叠::Vim进阶索引[2]
  6. CATIA CAA二次开发专题(一)------明知山有虎
  7. python终端命令执行提示找不到自定义模块
  8. 学习笔记_曲根词汇_词根词缀_联想记忆_第61_71_74节课
  9. 如何学好编程?学习经验汇总
  10. gpu云服务器支持,GPU云服务器产品简介