JPEG系列二 JPEG文件中的EXIF(下)
TagID
|
属性名称
|
type
|
说明
|
8769
|
EXIF IFD
|
LONG
|
数字相机的信息
|
8825
|
GPS IFD
|
LONG
|
地理位置信息
|
A005
|
Interoperability IFD
|
LONG
|
互操作扩展信息
|
927C
|
MakerNote IFD
|
LONG
|
厂商自己独有的注释信息
|
一个EXIF的二进制表示:
0000: 49 49 2A 00 08 00 00 00-02 00 1A 01 05 00 01 00
0010: 00 00 26 00 00 00 69 87-04 00 01 00 00 00 11 02
0020: 00 00 40 00 00 00 48 00-00 00 01 00 00 00
· 前两个字节是 "I I", 所以字节序是 'Intel'.
· 在地址0x0004~0x0007处存放的值是 0x08000000, 因此IFD0 从地址 '0x0008'开始
· 在地址0x0008~0x0009处存放的值是 0x0200, 则表示IFD0有 '2' 个目录项.
· 在地址0x000a~0x000b处存放的值是 0x1A01, 它意味着这是一个 XResolution(0x011A) 标签, 表示这是图像的水平分辨率.
· 地址0x000c~0x000d处存放的值为 0x0500, 说明数据的格式是一个 unsigned rational(0x0005).
· 地址0x000e~0x0011处存放的值是 0x01000000, 说明组件的数据只有 '1'个. Unsigned rational的数据大小是8字节(组件的大小), 因此数据的总长度是 1x8=8字节.
· 总数居长度比4字节大了, 因此它后面的4个字节里面存放的是一个指向实际数据的偏移量地址.
· 地址0x0012~0x0015处存放的是 0x26000000, 表示XResolution(水平分辨率) 数据的存储地址是0x0026
· 地址0x0026~0x0029处存放的数据是 0x48000000, 说明分子的值为 72, 而地址0x002a~0x002d 处存放的是0x0100000000, 说明分母为 '1'. 因此XResoultion 的值是 72/1.
· 地址0x0016~0x0017处存放的数据为0x6987, 表示下一个标签是 ExifOffset(0x8769). 这就是 指向 Exif子IFD的偏移量
· 而它的数据格式是 0x0004, 即是一个无符号的长整形(unsigned long integer).
· 这个标签只有一个组件. 无符号长整形的数据大小是4字节, 因此总数据长度为4字节.
· 总数据长度是 4字节, 则说明下一个4字节的数据中存放的是Exif子IFD的偏移量.
· 地址0x001e~0x0021处存放的是 0x11020000, 则说明Exif子IFD的开始地址是 '0x0211'.
· 这是最后一个目录项, 接下来的4个字节存放的是下一个IFD的偏移地址.
· 地址0x0022~0x0025处存放的是 0x40000000, 就可以知道下一个IFD的开始地址为 '0x0040'
EXIF中的缩略图
JPEG格式的缩略图
TIFF格式的缩略图
EXIF Orientation
|
翻转方式
|
1
|
未翻转
|
2*
|
左右翻转
|
3
|
180度旋转
|
4*
|
上下翻转
|
5*
|
左旋转90度后上下翻转
|
6
|
右旋转90度
|
7*
|
右旋转90度后上下翻转
|
8
|
左旋转90度
|
IFD0 ( 主图像) 使用的标签
|
|||||||||||||||||||||||||||||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
|||||||||||||||||||||||||||
0x010e
|
ImageDescription
|
ascii string
|
|
用来描述图像 . 双字节的字符码不能使用 , 如 中文 /韩文 /日文 .
|
|||||||||||||||||||||||||||
0x010f
|
Make
|
ascii string
|
|
表示数字相机的制造商 . 在 Exif 标准中 , 这个标签是可选的
, 但是在 DCF中它是必需的 .
|
|||||||||||||||||||||||||||
0x0110
|
Model
|
ascii string
|
|
表示数字相机的模块代码 . 在 Exif 标准中 , 这个标签是可选的 , 但在 DCF中它也是必需的 .
|
|||||||||||||||||||||||||||
0x0112
|
Orientation
|
unsigned short
|
1
|
当拍照时 , 相机相对于场景的方向 . 在右边表示的是 '0th
row' 以及 '0th
column' 在视觉位置上的关系 .
|
|||||||||||||||||||||||||||
0x011a
|
XResolution
|
unsigned rational
|
1
|
图像的 显示 /打印 分辨率 . 缺省值是 1/72英寸 , 但是它没有意义因为个人 PC在 显示 /打印 图像的时候不使用这个值 .
|
|||||||||||||||||||||||||||
0x011b
|
YResolution
|
unsigned rational
|
1
|
||||||||||||||||||||||||||||
0x0128
|
ResolutionUnit
|
unsigned short
|
1
|
XResolution(0x011a)/YResolution(0x011b) 的单位.
'1' 表示没有单位 ,
'2' 意味着英寸 ,
'3' 表示厘米 . 缺省值是'2'(英寸 ).
|
|||||||||||||||||||||||||||
0x0131
|
Software
|
ascii string
|
|
显示固件的版本号 (数字相机的内部控制软件 ).
|
|||||||||||||||||||||||||||
0x0132
|
DateTime
|
ascii string
|
20
|
图像最后一次被修改时的日期 /时间 . 日期的格式是"YYYY:MM:DD
HH:MM:SS"+0x00, 一共 20个字节 . 如果没有设置时钟或者数字相机没有时钟 , 则这个域是用空格来填充 . 通常 , 它和 DateTimeOriginal(0x9003) 具有相同的值
|
|||||||||||||||||||||||||||
0x013e
|
WhitePoint
|
unsigned rational
|
2
|
定义图像白点 (white
point/白点:在彩色分色、照相或摄影时作为色彩平衡测量用途的参考点 ) 的色度 (chromaticity).
如果图像是用 CIE标准照度 D65(著名的是 '光线/daylight'的国际标准 ), 这个值是'3127/10000,3290/10000'.
|
|||||||||||||||||||||||||||
0x013f
|
PrimaryChromaticities
|
unsigned rational
|
6
|
定义图像的原始色度 . 如果图像使用 CCIR 推荐 709原始色度 , 则这个值是'640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'.
|
|||||||||||||||||||||||||||
0x0211
|
YCbCrCoefficients
|
unsigned rational
|
3
|
当图像的格式是 YCbCr(JPEG的格式 ), 这个值表示转换成RGB格式的一个常量 . 通常 , 这个值是'0.299/0.587/0.114'.
|
|||||||||||||||||||||||||||
0x0213
|
YCbCrPositioning
|
unsigned short
|
1
|
当图像的格式是 YCbCr 并且使用 '子采样/Subsampling'(色度数据的剪切值 , 所有的数字相机都使用
), 定义了 subsampling 像素阵列的色度采样点 .
'1'表示像素阵列的中心 ,
'2' 表示基准点 .
|
|||||||||||||||||||||||||||
0x0214
|
ReferenceBlackWhite
|
unsigned rational
|
6
|
表示黑点 (black
point)/白点 的参考值 . 在 YCbCr 格式中
,前两个值是 Y的黑点 /白点 , 下两个值是 Cb, 最后两个值是Cr. 而在 RGB 格式中 , 前两个表示 R的黑点 /白点 , 下两个是 G, 最后两个是 B.
|
|||||||||||||||||||||||||||
0x8298
|
Copyright
|
ascii string
|
|
表示版权信息
|
|||||||||||||||||||||||||||
0x8769
|
ExifOffset
|
unsigned long
|
1
|
Exif 子IFD 的偏移量
|
Exif 子IFD 使用的标签
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x829a
|
ExposureTime
|
unsigned rational
|
1
|
曝光时间 (快门速度的倒数 ). 单位是秒 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x829d
|
FNumber
|
unsigned rational
|
1
|
拍照时的光圈 F-number(F-stop).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x8822
|
ExposureProgram
|
unsigned short
|
1
|
拍照时相机使用的曝光程序 .
'1' 表示手动曝光 ,
'2' 表示正常程序曝光 ,
'3' 表示光圈优先曝光 ,
'4' 表示快门优先曝光 ,
'5' 表示创意程序 (慢速程序 ),
'6' 表示动作程序 (高速程序 ),
'7'表示 肖像模式
, '8' 表示风景模式 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x8827
|
ISOSpeedRatings
|
unsigned short
|
2
|
CCD 的感光度, 等效于 Ag-Hr 胶片的速率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9000
|
ExifVersion
|
undefined
|
4
|
Exif 的版本号. 用4 个ASCII 字符来存储 . 如果图片是基于 Exif
V2.1的 , 这个值是 "0210". 因为它不是一个用 NULL(0x00)来终结的字符串,所以这里的类型是 'undefined'.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9003
|
DateTimeOriginal
|
ascii string
|
20
|
照片在被拍下来的日期 /时间 . 使用用户的软件是不能被修改这个值的 . 日期的格式是 "YYYY:MM:DD
HH:MM:SS"+0x00, 一共占用20 个字节 . 如果数字相机没有设置时钟或者 数字相机没有时钟
, 这个域使用空格来填充 . 在 Exif标准中 , 这个标签是可选的 , 但是在 DCF中是必需的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9004
|
DateTimeDigitized
|
ascii string
|
20
|
照片被数字化时的日期 /时间 . 通常 , 它与DateTimeOriginal(0x9003) 具有相同的值. 数据格式是"YYYY:MM:DD
HH:MM:SS"+0x00, 一共占用 20个字节 . 如果数字相机没有设置时钟或者 数字相机没有时钟 , 这个域使用空格来填充 . 在 Exif标准中 , 这个标签是可选的 , 但是在 DCF中是必需的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9101
|
ComponentsConfiguration
|
undefined
|
|
表示的是像素数据的顺序 . 大多数情况下 RGB格式使用'0x04,0x05,0x06,0x00' 而 YCbCr 格式使用'0x01,0x02,0x03,0x00'.
0x00:并不存在 , 其他的对应关系为0x01:Y,
0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green, 0x06:Bllue.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9102
|
CompressedBitsPerPixel
|
unsigned rational
|
1
|
JPEG ( 粗略的估计) 的平均压缩率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9201
|
ShutterSpeedValue
|
signed rational
|
1
|
用 APEX表示出的快门速度 . 为了转换成原始的 'Shutter
Speed'; 则先要计算 2的 ShutterSpeedValue次幂 , 然后求倒数 . 例如 , 如果 ShutterSpeedValue 是 '4', 快门速度则是1/(2
4)=1/16 秒.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9202
|
ApertureValue
|
unsigned rational
|
1
|
拍照时镜头的光圈 . 单位是 APEX. 为了转换成普通的 F-number(F-stop), 则要先计算出根号 2
2 (=1.4142)的ApertureValue次幂 . 例如 , 如果 ApertureValue 是 '5',
F-number 就等于 1.41425 =
F5.6.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9203
|
BrightnessValue
|
signed rational
|
1
|
被拍摄对象的明度 , 单位是 APEX. 为了从BrigtnessValue(Bv)计算出曝光量 (Ev), 你必须加上SensitivityValue(Sv).
Ev=Bv+Sv Sv=log2 (ISOSpeedRating/3.125) ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32. |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9204
|
ExposureBiasValue
|
signed rational
|
1
|
照片拍摄时的曝光补偿 . 单位是 APEX(EV).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9205
|
MaxApertureValue
|
unsigned rational
|
1
|
镜头的最大光圈值 . 你可以通过计算根号 2的MaxApertureValue次幂来转换成普通的光圈 F-number
(跟ApertureValue:0x9202 的处理过程一样).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9206
|
SubjectDistance
|
signed rational
|
1
|
到焦点的距离 , 单位是米 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9207
|
MeteringMode
|
unsigned short
|
1
|
曝光的测光方法 .
'0' 表示未知 ,
'1' 为平均测光 ,
'2' 为中央重点测光 ,
'3' 是点测光 ,
'4' 是多点测光 ,
'5' 是多区域测光 ,
'6' 部分测光 ,
'255' 则是其他 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9208
|
LightSource
|
unsigned short
|
1
|
光源 , 实际上是表示白平衡设置 .
'0' 意味着未知 ,
'1'是日光 ,
'2'是荧光灯 ,
'3' 白炽灯 (钨丝 ),
'10' 闪光灯 ,
'17' 标准光 A,
'18' 标准光 B,
'19' 标准光 C,
'20' D55, '21' D65, '22' D75, '255' 为其他 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9209
|
Flash
|
unsigned short
|
1
|
'0' 表示闪光灯没有闪光 ,
'1' 表示闪光灯闪光 ,
'5' 表示闪光但没有检测反射光 ,
'7' 表示闪光且检测了反射光 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x920a
|
FocalLength
|
unsigned rational
|
1
|
拍摄照片时的镜头的焦距长度 . 单位是毫米 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x927c
|
MakerNote
|
undefined
|
|
制造商的内部数据 . 一些制造商如 Olympus/Nikon/Sanyo 等在这个区域中使用 IFD 格式的数据 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9286
|
UserComment
|
undefined
|
|
存储用户的注释 . 这个标签允许使用两字节的德字符或者unicode. 前 8 个字节描述的是字符集 .
'JIS' 是日文 (著名的有Kanji).
'0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII '0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS '0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode '0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9290
|
SubsecTime
|
ascii string
|
|
一些数字相机每秒能拍摄 2~30 张照片 , 但是DateTime/DateTimeOriginal/DateTimeDigitized 标签只能记录到秒单位的时间 .
SubsecTime 标签就是用来记录秒后面的数据 (微秒 ).
例如 , DateTimeOriginal = "1996:09:01 09:15:30", SubSecTimeOriginal = "130", 合并起来的原始的拍摄 时间就是 "1996:09:01 09:15:30.130" |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9291
|
SubsecTimeOriginal
|
ascii string
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x9292
|
SubsecTimeDigitized
|
ascii string
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa000
|
FlashPixVersion
|
undefined
|
4
|
存储 FlashPix 的版本信息 . 如果图像数据是基于 FlashPix
formar Ver.1.0, 则这个值为 "0100". 因为它不是一个用NULL(0x00)来终结的字符串,所以这里的类型是 'undefined'.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa001
|
ColorSpace
|
unsigned short
|
1
|
定义色彩空间 .
DCF 图像必须使用 sRGB 色彩空间因此这个值总是 '1'. 如果这个照片使用了 其他的色彩空间 , 这个值是'65535':未校准 (Uncalibrated).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa002
|
ExifImageWidth
|
unsigned short/long
|
1
|
主图像的尺寸大小 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa003
|
ExifImageHeight
|
unsigned short/long
|
1
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa004
|
RelatedSoundFile
|
ascii string
|
|
如果数字相机能够纪录图像的音频数据 , 则表示音频数据的名字 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa005
|
ExifInteroperabilityOffset
|
unsigned long
|
1
|
表示这是一个扩展 "ExifR98", 细节未知. 这个值经常是 IFD格式的数据 . 当前这儿有两个 目录项 , 第一个是 Tag0x0001, 值是"R98", 下一个是 Tag0x0002, 它的值为 "0100".
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa20e
|
FocalPlaneXResolution
|
unsigned rational
|
1
|
表示 CCD的像素密度 . 如果你的相机是百万像素的并且是用低分辨率 (如 VGA模式 ) 来拍摄照片 , 这个值可以通过照片的分辨率来重新采样 . 在这种情况下 ,
FocalPlaneResolution 就不是CCD 的实际的分辨率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa20f
|
FocalPlaneYResolution
|
unsigned rational
|
1
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa210
|
FocalPlaneResolutionUnit
|
unsigned short
|
1
|
FocalPlaneXResoluton/FocalPlaneYResolution 的单位 .
'1' 表示没有单位 ,
'2'是英寸 inch,
'3' 表示厘米 .
注意 :一些 Fujifilm的数码相机 (如.FX2700,FX2900,Finepix4700Z/40i 等) 使用的值是 '3' 所以它的单位一定是 '厘米 ' , 但是它们的分辨率单位就变成'8.3mm?'(1/3in.?). 这是Fuji 的 BUG? 从Finepix4900Z 开始这个值就使用 '2' 了但仍然跟实际的值不吻合 . |
|||||||||||||||||||||||||||||||||||||||||||||||
0xa215
|
ExposureIndex
|
unsigned rational
|
1
|
跟 ISOSpeedRatings(0x8827)一样但是数据类型是 unsigned
rational. 只有 Kodak的数字相机使用 这个标签来替代ISOSpeedRating, 我不知道这是为什么 (历史原因 ?).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa217
|
SensingMethod
|
unsigned short
|
1
|
表示图像传感器单元的类型 .
'2' 意味着这是一个芯片颜色区域传感器 , 几乎所有的数字相机都 使用这个类型 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa300
|
FileSource
|
undefined
|
1
|
显示图像来源 . 值 '0x03' 表示图像源是数字定格相机 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa301
|
SceneType
|
undefined
|
1
|
表示拍摄场景的类型 . 值 '0x01' 表示图像是通过相机直接拍摄出来的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa302
|
CFAPattern
|
undefined
|
|
表示色彩过滤阵列 (CFA) 几何模式 .
色彩过滤和 CFA值之间的关系 .
例如 , 普通的 RGB 过滤器使用左表的副本 , 这个值是'0x0002,0x0002,0x00,0x01,0x01,0x02'.
|
Interoperability IFD 使用的标签
|
||||
标签号
|
标签名
|
格式
|
组件号
|
描述
|
0x0001
|
InteroperabilityIndex
|
Ascii string
|
4
|
如果这个 IFD 是主图像的 IFD 并且文件内容采用的是ExifR98
v1.0, 那这个值就是 "R98". 如果是所略图的 , 这个值则是 "THM".
|
0x0002
|
InteroperabilityVersion
|
Undefined
|
4
|
纪录 interoperability的版本 .
"0100" 表示版本1.00.
|
0x1000
|
RelatedImageFileFormat
|
Ascii string
|
any
|
纪录图像文件的文件格式 . 这个值是 ascii 字符串 (如 .
"Exif JPEG Ver. 2.1").
|
0x1001
|
RelatedImageWidth
|
Short or Long
|
1
|
纪录图像的大小尺寸 .
|
0x1001
|
RelatedImageLength
|
Short or Long
|
1
|
IFD1 ( 缩略图) 使用的标签
|
||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
0x0100
|
ImageWidth
|
unsigned short/long
|
1
|
表示缩略图的大小 .
|
0x0101
|
ImageLength
|
unsigned short/long
|
1
|
|
0x0102
|
BitsPerSample
|
unsigned short
|
3
|
当图像格式没有经过压缩 , 这个值表示每像素的比特位的数目 . 通常这个值是 '8,8,8'
|
0x0103
|
Compression
|
unsigned short
|
1
|
代表压缩的方式 .
'1' 表示非压缩 ,
'6' 表示 JPEG 压缩格式 .
|
0x0106
|
PhotometricInterpretation
|
unsigned short
|
1
|
表示图像数据组件的色彩空间 .
'1' 意味着单色 ,
'2'表示
RGB, '6' 表示 YCbCr.
|
0x0111
|
StripOffsets
|
unsigned short/long
|
|
如果图像格式没有经过压缩 , 这个值表示的是到图像数据的偏移量 . 在图像数据被分割的 情况下它有多个值 .
|
0x0115
|
SamplesPerPixel
|
unsigned short
|
1
|
如果图像格式没有经过压缩 , 这个值表示每个像素中存储的组件数目 . 在彩色图像中 , 此值为 '3'.
|
0x0116
|
RowsPerStrip
|
unsigned short/long
|
1
|
如果图像格式没有经过压缩 并且 图像被分割存储 , 这个值表示每条数据带存储了多少行数据 . 如果图像没有被分割 , 它与 ImageLength(0x0101) 同值.
|
0x0117
|
StripByteConunts
|
unsigned short/long
|
|
如果图像格式没有经过压缩 并且 图像被分割存储 , 这个值表示每条数据带使用了多少字节的 数据 且 有多个值 .
如果图像没有被分割 , 它只有一个且表示为图像的所有数据的大小 .
|
0x011a
|
XResolution
|
unsigned rational
|
1
|
图像的显示 /打印分辨率 . 很多的数字相机都使用1/72英寸的规格 , 但对于个人 PC 来讲这个值没有任何意义因为在显示 /打印的时候不使用这个值 .
|
0x011b
|
YResolution
|
unsigned rational
|
1
|
|
0x011c
|
PlanarConfiguration
|
unsigned short
|
1
|
如果图像格式是非压缩 YCbCr的 , 这个值表示YCbCr数据的字节对齐顺序 .
'1', 表示 Y/Cb/Cr值是一个 chunky
format, 对于每个子采样像素都是连续的 .
'2', 则表示 Y/Cb/Cr 值被分割存储在 Y
plane/Cb plane/Cr plane 格式中 .
|
0x0128
|
ResolutionUnit
|
unsigned short
|
1
|
XResolution(0x011a)/YResolution(0x011b) 的单位.
'1' 表示英寸 , '2' 表示厘米.
|
0x0201
|
JpegIFOffset
|
unsigned long
|
1
|
当图像格式是 JPEG时 , 这个值表示到 JPEG 数据的偏移量 .
|
0x0202
|
JpegIFByteCount
|
unsigned long
|
1
|
当图像格式是 JPEG时 , 表示 JPEG 图像的数据大小 .
|
0x0211
|
YCbCrCoefficients
|
unsigned rational
|
3
|
当图像格式是 YCbCr时 , 它表示转换成 RGB格式的一个常量值 . 通常是 '0.299/0.587/0.114'.
|
0x0212
|
YCbCrSubSampling
|
unsigned short
|
2
|
当图像格式是 YCbCr时 并且 使用子采样 (色度数据的剪切值 , 所有的数字相机都使用 )时 , 这个值表示有多少个色度数据被采样了 . 首先第一个值表示水平的 , 下一个值表示垂直的 采样率 .
|
0x0213
|
YCbCrPositioning
|
unsigned short
|
1
|
当图像格式是 YCbCr时 并且 使用子采样 (色度数据的剪切值 , 所有的数字相机都使用 )时 , 这个值定义了被采样的像素阵列的色度采样点 .
'1' 表示像素阵列的中心 ,
'2' 表示基准点 (0,0).
|
0x0214
|
ReferenceBlackWhite
|
unsigned rational
|
6
|
表示黑点 /白点的参考值 . 在 YCbCr 格式的情况下 , 前两个表示了 Y的黑 /白 , 下两个是 Cb, 最后两个是 Cr. 在 RGB 的情况下 , 前两个表示 R的黑 /白 , 下两个是G, 最后两个是 B.
|
TagID
|
属性名称
|
type
|
说明
|
8769
|
EXIF IFD
|
LONG
|
数字相机的信息
|
8825
|
GPS IFD
|
LONG
|
地理位置信息
|
A005
|
Interoperability IFD
|
LONG
|
互操作扩展信息
|
927C
|
MakerNote IFD
|
LONG
|
厂商自己独有的注释信息
|
一个EXIF的二进制表示:
0000: 49 49 2A 00 08 00 00 00-02 00 1A 01 05 00 01 00
0010: 00 00 26 00 00 00 69 87-04 00 01 00 00 00 11 02
0020: 00 00 40 00 00 00 48 00-00 00 01 00 00 00
· 前两个字节是 "I I", 所以字节序是 'Intel'.
· 在地址0x0004~0x0007处存放的值是 0x08000000, 因此IFD0 从地址 '0x0008'开始
· 在地址0x0008~0x0009处存放的值是 0x0200, 则表示IFD0有 '2' 个目录项.
· 在地址0x000a~0x000b处存放的值是 0x1A01, 它意味着这是一个 XResolution(0x011A) 标签, 表示这是图像的水平分辨率.
· 地址0x000c~0x000d处存放的值为 0x0500, 说明数据的格式是一个 unsigned rational(0x0005).
· 地址0x000e~0x0011处存放的值是 0x01000000, 说明组件的数据只有 '1'个. Unsigned rational的数据大小是8字节(组件的大小), 因此数据的总长度是 1x8=8字节.
· 总数居长度比4字节大了, 因此它后面的4个字节里面存放的是一个指向实际数据的偏移量地址.
· 地址0x0012~0x0015处存放的是 0x26000000, 表示XResolution(水平分辨率) 数据的存储地址是0x0026
· 地址0x0026~0x0029处存放的数据是 0x48000000, 说明分子的值为 72, 而地址0x002a~0x002d 处存放的是0x0100000000, 说明分母为 '1'. 因此XResoultion 的值是 72/1.
· 地址0x0016~0x0017处存放的数据为0x6987, 表示下一个标签是 ExifOffset(0x8769). 这就是 指向 Exif子IFD的偏移量
· 而它的数据格式是 0x0004, 即是一个无符号的长整形(unsigned long integer).
· 这个标签只有一个组件. 无符号长整形的数据大小是4字节, 因此总数据长度为4字节.
· 总数据长度是 4字节, 则说明下一个4字节的数据中存放的是Exif子IFD的偏移量.
· 地址0x001e~0x0021处存放的是 0x11020000, 则说明Exif子IFD的开始地址是 '0x0211'.
· 这是最后一个目录项, 接下来的4个字节存放的是下一个IFD的偏移地址.
· 地址0x0022~0x0025处存放的是 0x40000000, 就可以知道下一个IFD的开始地址为 '0x0040'
EXIF中的缩略图
JPEG格式的缩略图
TIFF格式的缩略图
EXIF Orientation
|
翻转方式
|
1
|
未翻转
|
2*
|
左右翻转
|
3
|
180度旋转
|
4*
|
上下翻转
|
5*
|
左旋转90度后上下翻转
|
6
|
右旋转90度
|
7*
|
右旋转90度后上下翻转
|
8
|
左旋转90度
|
IFD0 ( 主图像) 使用的标签
|
|||||||||||||||||||||||||||||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
|||||||||||||||||||||||||||
0x010e
|
ImageDescription
|
ascii string
|
|
用来描述图像 . 双字节的字符码不能使用 , 如 中文 /韩文 /日文 .
|
|||||||||||||||||||||||||||
0x010f
|
Make
|
ascii string
|
|
表示数字相机的制造商 . 在 Exif 标准中 , 这个标签是可选的
, 但是在 DCF中它是必需的 .
|
|||||||||||||||||||||||||||
0x0110
|
Model
|
ascii string
|
|
表示数字相机的模块代码 . 在 Exif 标准中 , 这个标签是可选的 , 但在 DCF中它也是必需的 .
|
|||||||||||||||||||||||||||
0x0112
|
Orientation
|
unsigned short
|
1
|
当拍照时 , 相机相对于场景的方向 . 在右边表示的是 '0th
row' 以及 '0th
column' 在视觉位置上的关系 .
|
|||||||||||||||||||||||||||
0x011a
|
XResolution
|
unsigned rational
|
1
|
图像的 显示 /打印 分辨率 . 缺省值是 1/72英寸 , 但是它没有意义因为个人 PC在 显示 /打印 图像的时候不使用这个值 .
|
|||||||||||||||||||||||||||
0x011b
|
YResolution
|
unsigned rational
|
1
|
||||||||||||||||||||||||||||
0x0128
|
ResolutionUnit
|
unsigned short
|
1
|
XResolution(0x011a)/YResolution(0x011b) 的单位.
'1' 表示没有单位 ,
'2' 意味着英寸 ,
'3' 表示厘米 . 缺省值是'2'(英寸 ).
|
|||||||||||||||||||||||||||
0x0131
|
Software
|
ascii string
|
|
显示固件的版本号 (数字相机的内部控制软件 ).
|
|||||||||||||||||||||||||||
0x0132
|
DateTime
|
ascii string
|
20
|
图像最后一次被修改时的日期 /时间 . 日期的格式是"YYYY:MM:DD
HH:MM:SS"+0x00, 一共 20个字节 . 如果没有设置时钟或者数字相机没有时钟 , 则这个域是用空格来填充 . 通常 , 它和 DateTimeOriginal(0x9003) 具有相同的值
|
|||||||||||||||||||||||||||
0x013e
|
WhitePoint
|
unsigned rational
|
2
|
定义图像白点 (white
point/白点:在彩色分色、照相或摄影时作为色彩平衡测量用途的参考点 ) 的色度 (chromaticity).
如果图像是用 CIE标准照度 D65(著名的是 '光线/daylight'的国际标准 ), 这个值是'3127/10000,3290/10000'.
|
|||||||||||||||||||||||||||
0x013f
|
PrimaryChromaticities
|
unsigned rational
|
6
|
定义图像的原始色度 . 如果图像使用 CCIR 推荐 709原始色度 , 则这个值是'640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'.
|
|||||||||||||||||||||||||||
0x0211
|
YCbCrCoefficients
|
unsigned rational
|
3
|
当图像的格式是 YCbCr(JPEG的格式 ), 这个值表示转换成RGB格式的一个常量 . 通常 , 这个值是'0.299/0.587/0.114'.
|
|||||||||||||||||||||||||||
0x0213
|
YCbCrPositioning
|
unsigned short
|
1
|
当图像的格式是 YCbCr 并且使用 '子采样/Subsampling'(色度数据的剪切值 , 所有的数字相机都使用
), 定义了 subsampling 像素阵列的色度采样点 .
'1'表示像素阵列的中心 ,
'2' 表示基准点 .
|
|||||||||||||||||||||||||||
0x0214
|
ReferenceBlackWhite
|
unsigned rational
|
6
|
表示黑点 (black
point)/白点 的参考值 . 在 YCbCr 格式中
,前两个值是 Y的黑点 /白点 , 下两个值是 Cb, 最后两个值是Cr. 而在 RGB 格式中 , 前两个表示 R的黑点 /白点 , 下两个是 G, 最后两个是 B.
|
|||||||||||||||||||||||||||
0x8298
|
Copyright
|
ascii string
|
|
表示版权信息
|
|||||||||||||||||||||||||||
0x8769
|
ExifOffset
|
unsigned long
|
1
|
Exif 子IFD 的偏移量
|
Exif 子IFD 使用的标签
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x829a
|
ExposureTime
|
unsigned rational
|
1
|
曝光时间 (快门速度的倒数 ). 单位是秒 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x829d
|
FNumber
|
unsigned rational
|
1
|
拍照时的光圈 F-number(F-stop).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x8822
|
ExposureProgram
|
unsigned short
|
1
|
拍照时相机使用的曝光程序 .
'1' 表示手动曝光 ,
'2' 表示正常程序曝光 ,
'3' 表示光圈优先曝光 ,
'4' 表示快门优先曝光 ,
'5' 表示创意程序 (慢速程序 ),
'6' 表示动作程序 (高速程序 ),
'7'表示 肖像模式
, '8' 表示风景模式 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x8827
|
ISOSpeedRatings
|
unsigned short
|
2
|
CCD 的感光度, 等效于 Ag-Hr 胶片的速率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9000
|
ExifVersion
|
undefined
|
4
|
Exif 的版本号. 用4 个ASCII 字符来存储 . 如果图片是基于 Exif
V2.1的 , 这个值是 "0210". 因为它不是一个用 NULL(0x00)来终结的字符串,所以这里的类型是 'undefined'.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9003
|
DateTimeOriginal
|
ascii string
|
20
|
照片在被拍下来的日期 /时间 . 使用用户的软件是不能被修改这个值的 . 日期的格式是 "YYYY:MM:DD
HH:MM:SS"+0x00, 一共占用20 个字节 . 如果数字相机没有设置时钟或者 数字相机没有时钟
, 这个域使用空格来填充 . 在 Exif标准中 , 这个标签是可选的 , 但是在 DCF中是必需的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9004
|
DateTimeDigitized
|
ascii string
|
20
|
照片被数字化时的日期 /时间 . 通常 , 它与DateTimeOriginal(0x9003) 具有相同的值. 数据格式是"YYYY:MM:DD
HH:MM:SS"+0x00, 一共占用 20个字节 . 如果数字相机没有设置时钟或者 数字相机没有时钟 , 这个域使用空格来填充 . 在 Exif标准中 , 这个标签是可选的 , 但是在 DCF中是必需的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9101
|
ComponentsConfiguration
|
undefined
|
|
表示的是像素数据的顺序 . 大多数情况下 RGB格式使用'0x04,0x05,0x06,0x00' 而 YCbCr 格式使用'0x01,0x02,0x03,0x00'.
0x00:并不存在 , 其他的对应关系为0x01:Y,
0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green, 0x06:Bllue.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9102
|
CompressedBitsPerPixel
|
unsigned rational
|
1
|
JPEG ( 粗略的估计) 的平均压缩率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9201
|
ShutterSpeedValue
|
signed rational
|
1
|
用 APEX表示出的快门速度 . 为了转换成原始的 'Shutter
Speed'; 则先要计算 2的 ShutterSpeedValue次幂 , 然后求倒数 . 例如 , 如果 ShutterSpeedValue 是 '4', 快门速度则是1/(2
4)=1/16 秒.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9202
|
ApertureValue
|
unsigned rational
|
1
|
拍照时镜头的光圈 . 单位是 APEX. 为了转换成普通的 F-number(F-stop), 则要先计算出根号 2
2 (=1.4142)的ApertureValue次幂 . 例如 , 如果 ApertureValue 是 '5',
F-number 就等于 1.41425 =
F5.6.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9203
|
BrightnessValue
|
signed rational
|
1
|
被拍摄对象的明度 , 单位是 APEX. 为了从BrigtnessValue(Bv)计算出曝光量 (Ev), 你必须加上SensitivityValue(Sv).
Ev=Bv+Sv Sv=log2 (ISOSpeedRating/3.125) ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32. |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9204
|
ExposureBiasValue
|
signed rational
|
1
|
照片拍摄时的曝光补偿 . 单位是 APEX(EV).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9205
|
MaxApertureValue
|
unsigned rational
|
1
|
镜头的最大光圈值 . 你可以通过计算根号 2的MaxApertureValue次幂来转换成普通的光圈 F-number
(跟ApertureValue:0x9202 的处理过程一样).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9206
|
SubjectDistance
|
signed rational
|
1
|
到焦点的距离 , 单位是米 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9207
|
MeteringMode
|
unsigned short
|
1
|
曝光的测光方法 .
'0' 表示未知 ,
'1' 为平均测光 ,
'2' 为中央重点测光 ,
'3' 是点测光 ,
'4' 是多点测光 ,
'5' 是多区域测光 ,
'6' 部分测光 ,
'255' 则是其他 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9208
|
LightSource
|
unsigned short
|
1
|
光源 , 实际上是表示白平衡设置 .
'0' 意味着未知 ,
'1'是日光 ,
'2'是荧光灯 ,
'3' 白炽灯 (钨丝 ),
'10' 闪光灯 ,
'17' 标准光 A,
'18' 标准光 B,
'19' 标准光 C,
'20' D55, '21' D65, '22' D75, '255' 为其他 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9209
|
Flash
|
unsigned short
|
1
|
'0' 表示闪光灯没有闪光 ,
'1' 表示闪光灯闪光 ,
'5' 表示闪光但没有检测反射光 ,
'7' 表示闪光且检测了反射光 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x920a
|
FocalLength
|
unsigned rational
|
1
|
拍摄照片时的镜头的焦距长度 . 单位是毫米 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x927c
|
MakerNote
|
undefined
|
|
制造商的内部数据 . 一些制造商如 Olympus/Nikon/Sanyo 等在这个区域中使用 IFD 格式的数据 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0x9286
|
UserComment
|
undefined
|
|
存储用户的注释 . 这个标签允许使用两字节的德字符或者unicode. 前 8 个字节描述的是字符集 .
'JIS' 是日文 (著名的有Kanji).
'0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII '0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS '0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode '0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9290
|
SubsecTime
|
ascii string
|
|
一些数字相机每秒能拍摄 2~30 张照片 , 但是DateTime/DateTimeOriginal/DateTimeDigitized 标签只能记录到秒单位的时间 .
SubsecTime 标签就是用来记录秒后面的数据 (微秒 ).
例如 , DateTimeOriginal = "1996:09:01 09:15:30", SubSecTimeOriginal = "130", 合并起来的原始的拍摄 时间就是 "1996:09:01 09:15:30.130" |
|||||||||||||||||||||||||||||||||||||||||||||||
0x9291
|
SubsecTimeOriginal
|
ascii string
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x9292
|
SubsecTimeDigitized
|
ascii string
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa000
|
FlashPixVersion
|
undefined
|
4
|
存储 FlashPix 的版本信息 . 如果图像数据是基于 FlashPix
formar Ver.1.0, 则这个值为 "0100". 因为它不是一个用NULL(0x00)来终结的字符串,所以这里的类型是 'undefined'.
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa001
|
ColorSpace
|
unsigned short
|
1
|
定义色彩空间 .
DCF 图像必须使用 sRGB 色彩空间因此这个值总是 '1'. 如果这个照片使用了 其他的色彩空间 , 这个值是'65535':未校准 (Uncalibrated).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa002
|
ExifImageWidth
|
unsigned short/long
|
1
|
主图像的尺寸大小 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa003
|
ExifImageHeight
|
unsigned short/long
|
1
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa004
|
RelatedSoundFile
|
ascii string
|
|
如果数字相机能够纪录图像的音频数据 , 则表示音频数据的名字 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa005
|
ExifInteroperabilityOffset
|
unsigned long
|
1
|
表示这是一个扩展 "ExifR98", 细节未知. 这个值经常是 IFD格式的数据 . 当前这儿有两个 目录项 , 第一个是 Tag0x0001, 值是"R98", 下一个是 Tag0x0002, 它的值为 "0100".
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa20e
|
FocalPlaneXResolution
|
unsigned rational
|
1
|
表示 CCD的像素密度 . 如果你的相机是百万像素的并且是用低分辨率 (如 VGA模式 ) 来拍摄照片 , 这个值可以通过照片的分辨率来重新采样 . 在这种情况下 ,
FocalPlaneResolution 就不是CCD 的实际的分辨率 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa20f
|
FocalPlaneYResolution
|
unsigned rational
|
1
|
||||||||||||||||||||||||||||||||||||||||||||||||
0xa210
|
FocalPlaneResolutionUnit
|
unsigned short
|
1
|
FocalPlaneXResoluton/FocalPlaneYResolution 的单位 .
'1' 表示没有单位 ,
'2'是英寸 inch,
'3' 表示厘米 .
注意 :一些 Fujifilm的数码相机 (如.FX2700,FX2900,Finepix4700Z/40i 等) 使用的值是 '3' 所以它的单位一定是 '厘米 ' , 但是它们的分辨率单位就变成'8.3mm?'(1/3in.?). 这是Fuji 的 BUG? 从Finepix4900Z 开始这个值就使用 '2' 了但仍然跟实际的值不吻合 . |
|||||||||||||||||||||||||||||||||||||||||||||||
0xa215
|
ExposureIndex
|
unsigned rational
|
1
|
跟 ISOSpeedRatings(0x8827)一样但是数据类型是 unsigned
rational. 只有 Kodak的数字相机使用 这个标签来替代ISOSpeedRating, 我不知道这是为什么 (历史原因 ?).
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa217
|
SensingMethod
|
unsigned short
|
1
|
表示图像传感器单元的类型 .
'2' 意味着这是一个芯片颜色区域传感器 , 几乎所有的数字相机都 使用这个类型 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa300
|
FileSource
|
undefined
|
1
|
显示图像来源 . 值 '0x03' 表示图像源是数字定格相机 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa301
|
SceneType
|
undefined
|
1
|
表示拍摄场景的类型 . 值 '0x01' 表示图像是通过相机直接拍摄出来的 .
|
|||||||||||||||||||||||||||||||||||||||||||||||
0xa302
|
CFAPattern
|
undefined
|
|
表示色彩过滤阵列 (CFA) 几何模式 .
色彩过滤和 CFA值之间的关系 .
例如 , 普通的 RGB 过滤器使用左表的副本 , 这个值是'0x0002,0x0002,0x00,0x01,0x01,0x02'.
|
Interoperability IFD 使用的标签
|
||||
标签号
|
标签名
|
格式
|
组件号
|
描述
|
0x0001
|
InteroperabilityIndex
|
Ascii string
|
4
|
如果这个 IFD 是主图像的 IFD 并且文件内容采用的是ExifR98
v1.0, 那这个值就是 "R98". 如果是所略图的 , 这个值则是 "THM".
|
0x0002
|
InteroperabilityVersion
|
Undefined
|
4
|
纪录 interoperability的版本 .
"0100" 表示版本1.00.
|
0x1000
|
RelatedImageFileFormat
|
Ascii string
|
any
|
纪录图像文件的文件格式 . 这个值是 ascii 字符串 (如 .
"Exif JPEG Ver. 2.1").
|
0x1001
|
RelatedImageWidth
|
Short or Long
|
1
|
纪录图像的大小尺寸 .
|
0x1001
|
RelatedImageLength
|
Short or Long
|
1
|
IFD1 ( 缩略图) 使用的标签
|
||||
标签号
|
标签名
|
格式
|
组件数
|
描述
|
0x0100
|
ImageWidth
|
unsigned short/long
|
1
|
表示缩略图的大小 .
|
0x0101
|
ImageLength
|
unsigned short/long
|
1
|
|
0x0102
|
BitsPerSample
|
unsigned short
|
3
|
当图像格式没有经过压缩 , 这个值表示每像素的比特位的数目 . 通常这个值是 '8,8,8'
|
0x0103
|
Compression
|
unsigned short
|
1
|
代表压缩的方式 .
'1' 表示非压缩 ,
'6' 表示 JPEG 压缩格式 .
|
0x0106
|
PhotometricInterpretation
|
unsigned short
|
1
|
表示图像数据组件的色彩空间 .
'1' 意味着单色 ,
'2'表示
RGB, '6' 表示 YCbCr.
|
0x0111
|
StripOffsets
|
unsigned short/long
|
|
如果图像格式没有经过压缩 , 这个值表示的是到图像数据的偏移量 . 在图像数据被分割的 情况下它有多个值 .
|
0x0115
|
SamplesPerPixel
|
unsigned short
|
1
|
如果图像格式没有经过压缩 , 这个值表示每个像素中存储的组件数目 . 在彩色图像中 , 此值为 '3'.
|
0x0116
|
RowsPerStrip
|
unsigned short/long
|
1
|
如果图像格式没有经过压缩 并且 图像被分割存储 , 这个值表示每条数据带存储了多少行数据 . 如果图像没有被分割 , 它与 ImageLength(0x0101) 同值.
|
0x0117
|
StripByteConunts
|
unsigned short/long
|
|
如果图像格式没有经过压缩 并且 图像被分割存储 , 这个值表示每条数据带使用了多少字节的 数据 且 有多个值 .
如果图像没有被分割 , 它只有一个且表示为图像的所有数据的大小 .
|
0x011a
|
XResolution
|
unsigned rational
|
1
|
图像的显示 /打印分辨率 . 很多的数字相机都使用1/72英寸的规格 , 但对于个人 PC 来讲这个值没有任何意义因为在显示 /打印的时候不使用这个值 .
|
0x011b
|
YResolution
|
unsigned rational
|
1
|
|
0x011c
|
PlanarConfiguration
|
unsigned short
|
1
|
如果图像格式是非压缩 YCbCr的 , 这个值表示YCbCr数据的字节对齐顺序 .
'1', 表示 Y/Cb/Cr值是一个 chunky
format, 对于每个子采样像素都是连续的 .
'2', 则表示 Y/Cb/Cr 值被分割存储在 Y
plane/Cb plane/Cr plane 格式中 .
|
0x0128
|
ResolutionUnit
|
unsigned short
|
1
|
XResolution(0x011a)/YResolution(0x011b) 的单位.
'1' 表示英寸 , '2' 表示厘米.
|
0x0201
|
JpegIFOffset
|
unsigned long
|
1
|
当图像格式是 JPEG时 , 这个值表示到 JPEG 数据的偏移量 .
|
0x0202
|
JpegIFByteCount
|
unsigned long
|
1
|
当图像格式是 JPEG时 , 表示 JPEG 图像的数据大小 .
|
0x0211
|
YCbCrCoefficients
|
unsigned rational
|
3
|
当图像格式是 YCbCr时 , 它表示转换成 RGB格式的一个常量值 . 通常是 '0.299/0.587/0.114'.
|
0x0212
|
YCbCrSubSampling
|
unsigned short
|
2
|
当图像格式是 YCbCr时 并且 使用子采样 (色度数据的剪切值 , 所有的数字相机都使用 )时 , 这个值表示有多少个色度数据被采样了 . 首先第一个值表示水平的 , 下一个值表示垂直的 采样率 .
|
0x0213
|
YCbCrPositioning
|
unsigned short
|
1
|
当图像格式是 YCbCr时 并且 使用子采样 (色度数据的剪切值 , 所有的数字相机都使用 )时 , 这个值定义了被采样的像素阵列的色度采样点 .
'1' 表示像素阵列的中心 ,
'2' 表示基准点 (0,0).
|
0x0214
|
ReferenceBlackWhite
|
unsigned rational
|
6
|
表示黑点 /白点的参考值 . 在 YCbCr 格式的情况下 , 前两个表示了 Y的黑 /白 , 下两个是 Cb, 最后两个是 Cr. 在 RGB 的情况下 , 前两个表示 R的黑 /白 , 下两个是G, 最后两个是 B.
|