读取JPG图片的Exif属性(一) - Exif信息简介
Exif 是什么?
最初由日本电子工业发展协会(JEIDA --Japan Electronic Industry Development Association) 制订,目前的最新版本是2.21 版。国际标准化组织(ISO)正在制订的相机文件设计标准(DCF -- Design role for Camera File system)可能以Exif2.1为基础。
Exif 文件实际是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。所以你可以使用任何支持JPEG格式的图像工具软件观看或修改Exif文件,但打开时可能看不到Exif信息,一旦修改,Exif信息可能丢失。
简单来说,EXIF 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部, 也就是说 EXIF 信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,主要包括摄影时的光圈、快门、ISO、日期时间等各种与当时摄影条件相关的讯息,相机品牌型号,色彩编码,拍摄时录制的声音以及全球定位系统(GPS)等信息。
简单的说,它就好像是傻瓜相机的日期打印功能一样,只不过 EXIF 信息所记录的资讯更为详尽和完备。
如何查看Exif信息
![](/assets/blank.gif)
![](/assets/blank.gif)
如何分析Exif信息
00 FF D8 FF E1 3A 59 45 78 69 66 00 00 4D 4D 00 2A
10 00 00 00 08 00 0C 01 0E 00 02 00 00 00 0E 00 00
20 03 F4 01 0F 00 02 00 00 00 20 00 00 04 02 01 10
30 00 02 00 00 00 20 00 00 04 22 01 12 00 03 00 00
40 00 01 00 01 00 00 01 1A 00 05 00 00 00 01 00 00
50 04 42 01 1B 00 05 00 00 00 01 00 00 04 4A 01 28
60 00 03 00 00 00 01 00 02 00 00 01 31 00 02 00 00
70 00 20 00 00 04 52 01 32 00 02 00 00 00 14 00 00
80 04 72 02 13 00 03 00 00 00 01 00 01 00 00 87 69
90 00 04 00 00 00 01 00 00 00 9E 88 25 00 04 00 00
A0 00 01 00 00 02 A2 00 00 02 E4 00 28 82 9A 00 05
B0 00 00 00 01 00 00 04 86 82 9D 00 05 00 00 00 01
C0 00 00 04 8E 88 22 00 03 00 00 00 01 00 02 00 00
D0 88 27 00 03 00 00 00 01 00 C8 00 00 90 00 00 07
E0 00 00 00 04 30 32 32 31 90 03 00 02 00 00 00 14
F0 00 00 04 96 90 04 00 02 00 00 00 14 00 00 04 AA
100 91 01 00 07 00 00 00 04 01 02 03 00 91 02 00 05
110 00 00 00 01 00 00 04 BE 92 01 00 0A 00 00 00 01
120 00 00 04 C6 92 02 00 05 00 00 00 01 00 00 04 CE
130 92 04 00 0A 00 00 00 01 00 00 04 D6 92 05 00 05
140 00 00 00 01 00 00 04 DE 92 06 00 05 00 00 00 01
150 00 00 04 E6 92 07 00 03 00 00 00 01 00 02 00 00
160 92 08 00 03 00 00 00 01 00 00 00 00 92 09 00 03
170 00 00 00 01 00 20 00 00 92 0A 00 05 00 00 00 01
180 00 00 04 EE 92 7C 00 07 00 00 00 40 00 00 04 F6
190 A0 00 00 07 00 00 00 04 30 31 30 30 A0 01 00 03
1A0 00 00 00 01 00 01 00 00 A0 02 00 04 00 00 00 01
1B0 00 00 12 00 A0 03 00 04 00 00 00 01 00 00 0D 80
1C0 A0 05 00 04 00 00 00 01 00 00 02 84 A2 15 00 05
1D0 00 00 00 01 00 00 05 36 A2 17 00 03 00 00 00 01
1E0 00 02 00 00 A3 00 00 07 00 00 00 01 03 00 00 00
1F0 A3 01 00 07 00 00 00 01 01 00 00 00 A4 01 00 03
200 00 00 00 01 00 00 00 00 A4 02 00 03 00 00 00 01
210 00 00 00 00 A4 03 00 03 00 00 00 01 00 00 00 00
220 A4 04 00 05 00 00 00 01 00 00 05 3E A4 05 00 03
230 00 00 00 01 00 29 00 00 A4 06 00 03 00 00 00 01
240 00 00 00 00 A4 07 00 03 00 00 00 01 00 00 00 00
250 A4 08 00 03 00 00 00 01 00 00 00 00 A4 09 00 03
260 00 00 00 01 00 00 00 00 A4 0A 00 03 00 00 00 01
270 00 00 00 00 A4 0B 00 07 00 00 00 04 00 00 00 00
280 A4 0C 00 03 00 00 00 01 00 00 00 00 00 00 00 00
290 00 02 00 01 00 02 00 00 00 04 52 39 38 00 00 02
2A0 00 07 00 00 00 04 30 31 30 30 00 00 00 00 00 05
2B0 00 00 00 01 00 00 00 04 02 02 00 00 00 01 00 02
2C0 00 00 00 02 4E 00 00 00 00 02 00 05 00 00 00 03
2D0 00 00 05 46 00 03 00 02 00 00 00 02 45 00 00 00
2E0 00 04 00 05 00 00 00 03 00 00 05 5E 00 00 00 00
2F0 00 06 01 03 00 03 00 00 00 01 00 06 00 00 01 1A
300 00 05 00 00 00 01 00 00 05 76 01 1B 00 05 00 00
310 00 01 00 00 05 7E 01 28 00 03 00 00 00 01 00 02
320 00 00 02 01 00 04 00 00 00 01 00 00 07 F4 02 02
330 00 04 00 00 00 01 00 00 32 5D 00 00 00 00 00 00
FF D8 SOI
FF E1 APP1
3A 59 APP1 LENGTH
45 78 69 66 00 00 Exif ASCII结束符两个
4D 4D MM big endian TIFF Header (注意小端的为:49492A00 08000000)
00 2A fixed
00 00 00 08 IFD0 offset
00 0C IFD0: number of TAGs 12个tag,每个12字节。
01 0E TAG Image title
00 02 TYPE ASCII
00 00 00 0E count 最多13个字符
00 00 03 F4 offset +0C=0x400 可以看到DCIM\100MEDIA (0x0c from the start of the TIFF header 4D4D MM)
01 0F TAG Image input equipment manuf
00 02 TYPE ASCII
00 00 00 20 count 最多31个字符
00 00 04 02 offset +0c=0x040E 可以看到TCL
01 10 TAG Image input equipment model
00 02 TYPE ASCII
00 00 00 20 count
00 00 04 22 offset +0c=0x042E 可以看到SDV05
01 12 TAG Orientation of image
00 03 SHORT 00 01
00 00 00 01 count
00 01 00 00 value
01 1A TAG Image resolution in width 0x0442+0c=0x44E,可以看到00 00 00 48/00 00 00 01
00 05 RATIONAL
00 00 00 01 count
00 00 04 42 offset +0c=0x44E,可以看到00 00 00 48/00 00 00 01
01 1B TAG Image resolution in height
00 05 RATIONAL
00 00 00 01
00 00 04 4A offset+0c=0x456 可以看到00 00 00 48/00 00 00 01
01 28 Unit of X and Y resolution
00 03 SHORT 00 02
00 00 00 01
00 02 00 00
01 31 Software used
00 02 ASCII
00 00 00 20 count
00 00 04 52 offset +0c =0x45E 可以看到0.0.2
01 32 DateTime
00 02 ASCII
00 00 00 14 20字节
00 00 04 72 offset+0c=0x47E,可以看到2012:07:29 21:28:18
02 13 YCbCrPositioning
00 03 SHORT 00 01
00 00 00 01
00 01 00 00
87 69 Exif IFD Pointer
00 04 LONG
00 00 00 01 count
00 00 00 9E offset+0c=0xAA
88 25 GPS Info IFD Pointer
00 04 LONG
00 00 00 01 count
00 00 02 A2 offset+0c=0x02AE
00 00 02 E4 nextIFD IFD1 offset
00 28 Exif IFD number of TAGs
82 9A ExposureTime
00 05 RATIONAL
00 00 00 01 count
00 00 04 86 offset+0c=0x0492
...
Exif的相关信息这里先不做分析,请大家参照上面的文档自己分析了。
这里主要是分析GPS相关信息
GPS Info IFD Pointer 0x02AE 从上面数据2A0行的后面看数据
00 05 count of TAGs
00 00 GPSVersionID
00 01 BYTE
00 00 00 04 count
02 02 00 00 value 2.2.0.0
00 01 GPSLatitudeRef
00 02 ASCII
00 00 00 02 count
4E 00 00 00 N North
00 02 GPSLatitude
00 05 RATIONAL 前4字节为分子,后4字节为分母,十六进制先转为十进制
00 00 00 03 count
00 00 05 46 offset+0c=0x552 16 00 00 00 01 00 00 00 22 00 00 00 01 00 00 00 51 00 00 00 04 00 00 00
22/1=22 34/1=34 81/4= 20.25
通过windows的右键属性看详细 信息 :22;34;20.249999999999915
00 03 GPSLongitudeRef
00 02
00 00 00 02 count
45 00 00 00 East
00 04 GPSLongitude
00 05 RATIONAL
00 00 00 03 count
00 00 05 5E offset+0c=0x56A 71 00 00 00 01 00 00 00 37 00 00 00 01 00 00 00 6C 00 00 00 04 00
113/1=113 55/1=55 108/4=27
通过windows的右键属性看详细 信息 :113;55;27.000000000000171
550 04 00 16 00 00 00 01 00 00 00 22 00 00 00 01 00
560 00 00 51 00 00 00 04 00 00 00 71 00 00 00 01 00
570 00 00 37 00 00 00 01 00 00 00 6C 00 00 00 04 00
580 00 00 00 00 00 48 00 00 00 01 00 00 00 48 00 00
590 00 01 00 00 00 00 00 00
参考
http://blog.csdn.net/yapingmcu/article/details/50638713
http://www.cppblog.com/lymons/archive/2010/02/23/108266.aspx
读取JPG图片的Exif属性(一) - Exif信息简介相关推荐
- 图像处理2_读取JPG图片的Exif属性(一) - Exif信息简介
Exif 是什么? Exif就是用来记录拍摄图像时的各种信息:图像信息(厂商,分辨率等),相机拍摄记录(ISO,白平衡,饱和度,锐度等),缩略图(缩略图宽度,高度等),gps(拍摄时的经度,纬度,高度 ...
- jpg读取exif属性值
项目在开发过程中,需要读取JPG影像中的exif的GPS,相机参数,影像大小等参数,根据exif属性的格式定义,解析所需要信息的字段,成功提取内容. Exif 编辑 Exif是一种图像文件格式,它的数 ...
- java根据exif旋转,关于图片文件旋转JPEG与EXIF信息
关于图片文件旋转JPEG与EXIF信息 2019/10/31 0:36:39 YuLimin 程序员俱乐部 我要评论(1) 摘要:关于图片文件旋转JPEG与EXIF信息比如某相机拍摄出来的相片, ...
- 关于图片文件旋转JPEG与EXIF信息
关于图片文件旋转JPEG与EXIF信息 比如某相机拍摄出来的相片,文件分辨率比如宽度7360像素,高度4912像素 十进制表示为 DEC : 7360 * 4912 十六进制则为 HEX : 1CC0 ...
- JPG图片EXIF信息提取工具exif
JPG图片EXIF信息提取工具exif 有相机生成的JPG图片(如照片)都包含有EXIF信息.这些信息包括拍照所使用的设备.地理位置.拍摄时间等敏感信息.Kali Linux内置了EXIF信息提取工具 ...
- 图像的EXIF信息简介及获取!
一.什么是EXIF? EXIF信息,是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据.EXIF最初由日本电子工业发展协会在1996年制定,版本为1.0.199 ...
- 使用Exiv2读取图像属性的详细信息
一.图像详细信息 1.在windows下,点击图像,右键属性,详细信息里面,就可以查看该图像的具体信息,如水平分辨率,分辨率,宽度,高度等,如下图: 2.这此信息对于做图像处理是很有用处的,我一直在用 ...
- java 获取图片的媒体属性,以大疆无人机照片为例
<!--依赖的工具类--> <dependency><groupId>com.drewnoakes</groupId><artifactId> ...
- android exif软件,照片exif工具隐藏软件
照片exif工具隐藏软件是一款通过其他手段上架苹果商店的软件,从商店的评论来看这款软件的确深受用户喜欢,软件目前是免费的,第一次进去后是图片上的软件,但是第二次进去后就变成其他的了,至于更多的功能就可 ...
最新文章
- 数组公式基本功修炼之深入使用
- 电商平台 高并发 微服务 方案_Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战...
- 1031 Hello World for U
- python+OpenCV图像处理(十)霍夫变换简单图形检测
- input属性disabled和readonly的区别
- win10mysql卸载与重装_win10下完全卸载+重装MySQL步骤详解
- tomcat的安装以及配置
- IIS出现server application error的解决办法
- ARM开发经典学习网站推荐【转】
- win10硬盘锁怎么解除_win10如何使用bitlocker解锁硬盘加密
- 论治理与创新,2022 开放原子全球开源峰会 OpenAnolis 分论坛圆满落幕
- API接口加密—非对称加密解密之分段加解密
- K8S Flannel
- 正定子龙大桥正式开工建设
- .NET-15-正则替换
- 机器学习笔记——受限玻尔兹曼机简介
- php实现mysql分表,php实现的mysql分表方案(水平切分)
- 【设计方案分享】基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-基于单片机乒乓球游戏机控制系统设计-基于单片机温度监测监控报警系统设计-基于单片机矩阵键盘的电子密码锁设计
- ❤️❤️❤️Arduino语法手册 完整版
- 西瓜书习题 - 6.支持向量机
热门文章
- 程序包不存在,找不到符号,但实际“存在”
- λ演算简介及coq实现λ演算
- 雪鹰领主服务器维护,《雪鹰领主》12月21日新开服务器已更新
- Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup, setsid, , disown)...
- 推送uni-Push在IOS端推送失败
- 如何用python在excel中画画(含GUI界面)
- matlab newff函数弃用了,[转载]MATLAB神经网络函数NEWFF()新旧用法差异
- 深度学习中的多任务学习(一)
- 更换人工晶体的最佳时期是什么时候?
- SRT直播地址格式简介