spec链接:
http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf
--------------------------------------------------------------
原文:
http://www.cppblog.com/lymons/archive/2010/02/23/108266.aspx
http://www.opanda.com/cn/pe/exif.htm
---------------------------------------------------------------------------------------
TsuruZoh Tachibanaya, t s u r u z o h @ b a . w a k w a k . c o m
http://park2.wakwak.com/~tsuruzoh/
rev. 1.4 Feb.03,2001
rev. 1.3 Sep.09,2000
rev. 1.2 Jul.19,2000
rev. 1.1 Dec.19,1999
rev. 1.0 May.28,1999
SOI 标记 | 标记 XX 的大小=SSSS | 标记 YY 的大小=TTTT | SOS 标记 的大小=UUUU | 图像数据流 | EOI 标记 | ||||||
FFD8 | FFXX | SSSS | DDDD...... | FFYY | TTTT | DDDD...... | FFDA | UUUU | DDDD.... | I I I I.... | FFD9 |
SOI 标记 | APP1 标记 | APP1 数据 | Other 标记 |
FFD8 | FFE1 | SSSS 457869660000 TTTT...... | FFXX SSSS DDDD...... |
FFE1 | APP1 标记 | ||||
SSSS | APP1 数据 | APP1 数据大小 | |||
45786966 0000 | Exif 头 | ||||
49492A00 08000000 | TIFF 头 | ||||
XXXX. . . . | IFD0 (主图像) | 目录 | |||
LLLLLLLL | 连接到 IFD1 | ||||
XXXX. . . . | IFD0的数据域 | ||||
XXXX. . . . | Exif 子IFD | 目录 | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Exif 子IFD的数据域 | ||||
XXXX. . . . | Interoperability IFD | Directory | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Interoperability IFD的数据域 | ||||
XXXX. . . . | Makernote IFD | Directory | |||
00000000 | 连接结束 | ||||
XXXX. . . . | Makernote IFD的数据域 | ||||
XXXX. . . . | IFD1(缩略图像) | 目录 | |||
00000000 | 连接结束 | ||||
XXXX. . . . | IFD1的数据域 | ||||
FFD8XXXX. . . XXXXFFD9 | 缩略图像 |
字节序 | 标签标注 | 到第一个IFD的偏移量 |
"I I" or "MM" | 0x002a | 0x00000008 |
EEEE | 目录项的号码 | |||
TTTT | ffff | NNNNNNNN | DDDDDDDD | 项目 0 |
TTTT | ffff | NNNNNNNN | DDDDDDDD | 项目 1 |
. . . . . . . . . | . . . . . . | |||
TTTT | ffff | NNNNNNNN | DDDDDDDD | 项目 EEEE-1 |
LLLLLLLL | 到下一个IFD的偏移量 |
数据的值 | 1 | 2 | 3 | 4 | 5 | 6 |
格式 | unsigned byte | ascii strings | unsigned short | unsigned long | unsigned rational | signed byte |
组件的大小(字节数) | 1 | 1 | 2 | 4 | 8 | 1 |
数据的值 | 7 | 8 | 9 | 10 | 11 | 12 |
格式 | undefined | signed short | signed long | signed rational | single float | double float |
组件的大小(字节数) | 1 | 2 | 4 | 8 | 4 | 8 |
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上面的是TIFF数据的开头部分, 对它的解读如下;
|
|||||||||||||||||||||||||||||||
标签号 | 标签名 | 格式 | 组件数 | 描述 | |||||||||||||||||||||||||||
0x010e | ImageDescription | ascii string | 用来描述图像. 双字节的字符码不能使用, 如 中文/韩文/日文. | ||||||||||||||||||||||||||||
0x010f | Make | ascii string | 表示数字相机的制造商. 在 Exif 标准中, 这个标签是可选的, 但是在DCF中它是必需的. | ||||||||||||||||||||||||||||
0x0110 | Model | ascii string | 表示数字相机的模块代码. 在 Exif 标准中, 这个标签是可选的, 但在DCF中它也是必需的. | ||||||||||||||||||||||||||||
0x0112 | Orientation | unsigned short | 1 |
|
|||||||||||||||||||||||||||
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的偏移量 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
标签号 | 标签名 | 格式 | 组件数 | 描述 | |||||||||||||||||||||||||||||||||||||||||||||||
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/(24)=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值之间的关系.
|
|
||||
标签号 | 标签名 | 格式 | 组件号 | 描述 |
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 |
|
||||
标签号 | 标签名 | 格式 | 组件数 | 描述 |
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. |
|
||||
标签号 | 标签名 | 格式 | 组件数 | 描述 |
0x00fe | NewSubfileType | unsigned long | 1 | |
0x00ff | SubfileType | unsigned short | 1 | |
0x012d | TransferFunction | unsigned short | 3 | |
0x013b | Artist | ascii string | ||
0x013d | Predictor | unsigned short | 1 | |
0x0142 | TileWidth | unsigned short | 1 | |
0x0143 | TileLength | unsigned short | 1 | |
0x0144 | TileOffsets | unsigned long | ||
0x0145 | TileByteCounts | unsigned short | ||
0x014a | SubIFDs | unsigned long | ||
0x015b | JPEGTables | undefined | ||
0x828d | CFARepeatPatternDim | unsigned short | 2 | |
0x828e | CFAPattern | unsigned byte | ||
0x828f | BatteryLevel | unsigned rational | 1 | |
0x83bb | IPTC/NAA | unsigned long | ||
0x8773 | InterColorProfile | undefined | ||
0x8824 | SpectralSensitivity | ascii string | ||
0x8825 | GPSInfo | unsigned long | 1 | |
0x8828 | OECF | undefined | ||
0x8829 | Interlace | unsigned short | 1 | |
0x882a | TimeZoneOffset | signed short | 1 | |
0x882b | SelfTimerMode | unsigned short | 1 | |
0x920b | FlashEnergy | unsigned rational | 1 | |
0x920c | SpatialFrequencyResponse | undefined | ||
0x920d | Noise | undefined | ||
0x9211 | ImageNumber | unsigned long | 1 | |
0x9212 | SecurityClassification | ascii string | 1 | |
0x9213 | ImageHistory | ascii string | ||
0x9214 | SubjectLocation | unsigned short | 4 | |
0x9215 | ExposureIndex | unsigned rational | 1 | |
0x9216 | TIFF/EPStandardID | unsigned byte | 4 | |
0xa20b | FlashEnergy | unsigned rational | 1 | |
0xa20c | SpatialFrequencyResponse | unsigned short | 1 | |
0xa214 | SubjectLocation | unsigned short | 1 |
:0000: 4F 4C 59 4D 50 00 01 00-0B 00 00 02 04 00 03 00 OLYMP........... :0010: 00 00 0E 04 00 00 01 02-03 00 01 00 00 00 03 00 ................
标签号 | 标签名 | 格式 | 组件数 | 值 |
0x0200 | SpecialMode | Unsigned Long | 3 | 表示照片的拍摄模式. 第一个值的意思是 0=正常, 1=未知, 2=快速, 3=全景. 第二个值意思是序列号, 第三个值表示全景的方向 1=从左到右, 2=从右到左, 3=从下到上, 4=从上到下. |
0x0201 | JpegQual | Unsigned Short | 1 | 表示JPEG 的质量. 1=SQ,2=HQ,3=SHQ. |
0x0202 | Macro | Unsigned Short | 1 | 表示是否是宏模式. 0=正常, 1=宏. |
0x0203 | Unknown | Unsigned Short | 1 | 未知 |
0x0204 | DigiZoom | Unsigned Rational | 1 | 表示数字相机的放大率. 0=正常, 2=数字2倍变焦. |
0x0205 | Unknown | Unsigned Rational | 1 | 未知 |
0x0206 | Unknown | Signed Short | 6 | 未知 |
0x0207 | SoftwareRelease | Ascii string | 5 | 表示固件版本. |
0x0208 | PictInfo | Ascii string | 52 | 包含 ASCII 格式的数据如 [PictureInfo]. 它跟老的奥林帕斯数码相机(没有采用Exif 数据格式, 如C1400/C820/D620/D340等)采用相同的数据格式. |
0x0209 | CameraID | Undefined | 32 | 包含CameraID 的数据, 用户可以使用客户端工具来改变它的内容 |
0x0f00 | DataDump | Unsigned Long | 30 | 未知 |
:0000: 4E 69 6B 6F 6E 00 01 00-05 00 02 00 02 00 06 00 Nikon........... :0010: 00 00 EC 02 00 00 03 00-03 00 01 00 00 00 06 00 ................
标签号. | 标签名 | 格式 | 组件数 | 值 |
0x0002 | Unknown | Ascii string | 6 | 未知. E900/E900S/E910:"09.41", 其他的是:"08.00". |
0x0003 | Quality | Unsigned short | 1 | 表示图像的质量设置. 在E900相机中, 1:VGA 基本, 2:VGA 正常, 3:VGA 好, 4:SXGA 基本, 5:SXGA 正常, 6:SXGA 好 |
0x0004 | Color Mode | Unsigned short | 1 | 1:彩色, 2:黑白. |
0x0005 | Image Adjustment | Unsigned short | 1 | 0:正常, 1:明亮+, 2:明亮-, 3:对比+, 4:对比-. |
0x0006 | CCD Sensitivity | Unsigned short | 1 | 0:ISO80, 2:ISO160, 4:ISO320, 5:ISO100 |
0x0007 | White balance | Unsigned short | 1 | 0:自动, 1:预设, 2:日光, 3:荧光灯, 4:白炽灯, 5:阴天, 6:速度光(SpeedLight) |
0x0008 | Focus | Unsigned rational | 1 | 如果是无穷远对焦, 此值为 '1/0'. |
0x0009 | Unknown | Ascii string | 20 | 未知 |
0x000a | Digital Zoom | Unsigned rational | 1 | '160/100' 表示 1.6x 数码变焦, '0/100' 表示没有采用数码变焦 (仅仅是光学变焦). |
0x000b | Converter | Unsigned short | 1 | 如果使用尼康的鱼眼镜头, 此值是 '1'. |
0x0f00 | Unknown | Unsigned long | 25~30 | 未知 |
:0000: 10 00 01 00 07 00 04 00-00 00 00 01 00 00 02 00 ................ :0010: 03 00 02 00 00 00 00 00-64 00 03 00 02 00 06 00 ........d.......
Tag No. | Tag Name | Format | CompoNo | Value |
0x0001 | Unknown | Undefined | 4 | Unknown. Always "0100". version? |
0x0002 | ISO Setting | Unsigned short | 2 | 0,100=ISO 100 0,200=ISO200 0,400=ISO400 etc. |
0x0003 | Color Mode | Ascii string | varies | "COLOR", "B&W" |
0x0004 | Quality | Ascii string | varies | "NORMAL", "FINE", "BASIC" |
0x0005 | Whitebalance | Ascii string | varies | "AUTO", "WHITE PRESET" etc. |
0x0006 | Image Sharpening | Ascii string | varies | "AUTO", "HIGH" etc. |
0x0007 | Focus Mode | Ascii string | varies | "AF-S" means Single AF, "AF-C" means Continuous AF. |
0x0008 | Flash Setting | Ascii string | varies | "NORMAL", "RED-EYE" etc. |
0x000a | Unknown | Unsigned rational | 1 | Unknown, Always '8832/1000'? |
0x000f | ISO Selection | Ascii string | varies | "MANUAL":User selected, "AUTO":Automatically selected. |
0x0080 | Image Adjustment | Ascii string | varies | "AUTO", "NORMAL", "CONTRAST(+)" etc. |
0x0082 | Adapter | Ascii string | varies | "OFF", "FISHEYE 2", "WIDE ADAPTER" etc. |
0x0085 | Manual Focus Distance | Unsigned rational | 1 | Distance in Meters if focus was manually selected, otherwise 0 |
0x0086 | Digital Zoom | Unsigned rational | 1 | '100/100' means no digital zoom (optical zoom only), '140/100' means 1.4x digital zoom. |
0x0088 | AF Focus Position | Undefined | 4 | '0,0,0,0':Center, '0,1,0,0':Top, '0,2,0,0':Bottom, '0,3,0,0':Left, '0,4,0,0':right |
0x0010 | Data Dump | Undefined | 174 | Unknown. |
:0000: 00 14 00 01 00 03 00 00-00 01 00 0A 00 00 00 02 ................ :0010: 00 03 00 00 00 01 00 03-00 00 00 03 00 03 00 00 ................The data below is analyzed by Eckhard Henkel .
Tag No. | Tag Name | Format | CompoNo | Value |
0x0001 | RecordingMode | Unsigned Short | 1 | 1:Single Shutter, 2:Panorama, 3:Night Scene, 4:Portrait, 5:Landscape |
0x0002 | Quality | Unsigned Short | 1 | 1:Economy, 2:Normal, 3:Fine |
0x0003 | Focusing Mode | Unsigned Short | 1 | 2:Macro, 3:Auto Focus, 4:Manual Focus, 5:Infinity |
0x0004 | Flash Mode | Unsigned Short | 1 | 1:Auto, 2:On, 3:Off, 4:Red Eye Reduction |
0x0005 | Flash Intensity | Unsigned Short | 1 | 11:Weak, 13:Normal, 15:Strong |
0x0006 | Object distance | Unsigned Long | 1 | Object distance in [mm] |
0x0007 | White Balance | Unsigned Short | 1 | 1:Auto, 2:Tungsten, 3:Daylight, 4:Fluorescent, 5:Shade, 129:Manual |
0x0008 | Unknown | Unsigned short | 1 | Unknown |
0x0009 | Unknown | Unsigned short | 1 | Unknown |
0x000a | Digital Zoom | Unsigned Long | 1 | 0x10000(65536):'Off', 0x10001(65537):'2X Digital Zoom' |
0x000b | Sharpness | Unsigned Short | 1 | 0:Normal, 1:Soft, 2:Hard |
0x000c | Contrast | Unsigned Short | 1 | 0:Normal, 1:Low, 2:High |
0x000d | Saturation | Unsigned Short | 1 | 0:Normal, 1:Low, 2:High |
0x000e | Unknown | Unsigned short | 1 | Unknown |
0x000f | Unknown | Unsigned short | 1 | Unknown |
0x0010 | Unknown | Unsigned short | 1 | Unknown |
0x0011 | Unknown | Unsigned long | 1 | Unknown |
0x0012 | Unknown | Unsigned short | 1 | Unknown |
0x0013 | Unknown | Unsigned short | 1 | Unknown |
0x0014 | CCD Sensitivity | Unsigned short | 1 | QV3000: 64:Normal, 125:+1.0, 250:+2.0, 244:+3.0 QV8000/2000: 80:Normal, 100:High |
:0000: 46 55 4A 49 46 49 4C 4D-0C 00 00 00 0F 00 00 00 :0000: FUJIFILM........ :0010: 07 00 04 00 00 00 30 31-33 30 00 10 02 00 08 00 :0010: ......0130......
Tag No. | Tag Name | Format | CompoNo | Value |
0x0000 | Version | Undefined | 4 | Version of MakerNote information. At present, value is "0130". |
0x1000 | Quality | Ascii string | 8 | Quality setting. Ascii string "BASIC","NORMAL","FINE" |
0x1001 | Sharpness | Unsigned Short | 1 | Sharpness setting. 1or2:soft, 3:normal, 4or5:hard. |
0x1002 | White Balance | Unsigned Short | 1 | White balance setting. 0:Auto, 256:Daylight, 512:Cloudy, 768:DaylightColor-fluorescence, 769:DaywhiteColor-fluorescence, 770:White-fluorescence, 1024:Incandenscense, 3840:Custom white balance. |
0x1003 | Color | Unsigned Short | 1 | Chroma saturation setting. 0:normal(STD), 256:High, 512:Low(ORG). |
0x1004 | Tone | Unsigned Short | 1 | Contrast setting. 0:normal(STD), 256:High(HARD), 512:Low(ORG). |
0x1010 | Flash Mode | Unsigned Short | 1 | Flash firing mode setting. 0:Auto, 1:On, 2:Off, 3:Red-eye reduction. |
0x1011 | Flash Strength | Signed Rational | 1 | Flash firing strength compensation setting. Unit is APEX(EV) and value is -6/10, -3/10, 0/10, 3/10, 6/10 etc. |
0x1020 | Macro | Unsigned Short | 1 | Macro mode setting. 0:Off, 1:On. |
0x1021 | Focus mode | Unsigned short | 1 | Focusing mode setting. 0:Auto focus, 1:Manual focus. |
0x1030 | SlowSync. | Unsigned short | 1 | Slow synchro mode setting. 0:Off, 1:On. |
0x1031 | Picture Mode | Unsigned short | 1 | Picture mode setting. 0:Auto, 1:Portrait scene, 2:Landscape scene, 4:Sports scene, 5:Night scene, 6:Program AE, 256:Aperture prior AE, 512:Shutter prior AE, 768:Manual exposure. |
0x1032 | unknown | Unsigned Short | 1 | Unknown |
0x1100 | ContTake/Bracket | Unsigned Short | 1 | Continuous taking or auto bracketting mode setting. 0:off, 1:on. |
0x1200 | unknown | Unsigned Short | 1 | Unknown |
0x1300 | Blur warning | Unsigned Short | 1 | Blur warning status. 0:No blur warning, 1:Blur warning. |
0x1301 | Focus warning | Unsigned short | 1 | Auto Focus warning status. 0:Auto Focus good, 1:Out of focus. |
0x1302 | AE warning | Unsigned short | 1 | Auto Exposure warning status. 0:AE good, 1:Over exposure (>1/1000s,F11). |
Canon's MakerNote data is in IFD format, starting at offset 0.
Some of these tags and fields are only produced on cameras such as the EOS D30, but (to current observation) all this is valid for all Canon digicams (at least since the A50). If the tag is not found, or is shorter than shown here, it simply means that data is not supported by that camera.
Tag No. | Tag Name | Format | CompoNo | Value | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0 | Unknown | Unsigned Short | 6 | Always 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x1 | Unknown | Unsigned Short | varies |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x3 | Unknown | Unsigned Short | 4 | unknown | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x4 | Unknown | Unsigned Short | varies |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x6 | Image type | Ascii string | 32 | e.g.: "IMG:EOS D30 JPEG" Has trailing whitespace. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x7 | Firmware version | Ascii string | 24 | May have trailing NULs and whitespace. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x8 | Image Number | Unsigned Long | 1 | Normally reported as FFF-XXXX. FFF is this value divided by 1000, XXXX is this value mod 1000. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0x9 | Owner name | Ascii string | 32 | May have trailing NULs and whitespace. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0xa | Unknown | Unsigned Short | varies | unknown | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0xc | Camera serial number | Unsigned Long | 1 | High 16 bits are printed as a 4-digit hex number. Low 16 bits are printed as a 5-digit decimal number. These are concatenated to form the serial number. Example printf() format string would be "%04X%05d". |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0xd | Unknown | Unsigned Short | varies | unknown | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0xf | Custom Functions | Unsigned Short | varies | First short is the number of bytes in the tag (i.e. twice the number of shorts) For each other value: the top 8 bits are the C.Fn number, and the lower 8 bits are the value. |
C.Fn | Name | Value |
---|---|---|
1 | Long exposure noise reduction | 0: Off 1: On |
2 | Shutter/AE-lock buttons | 0: AF/AE lock 1: AE lock/AF 2: AF/AF lock 3: AE+release/AE+AF |
3 | Mirror lockup | 0: Disable 1: Enable |
4 | Tv/Av and exposure level | 0: 1/2 stop 1: 1/3 stop |
5 | AF-assist light | 0: On (auto) 1: Off |
6 | Shutter speed in Av mode | 0: Automatic 1: 1/200 (fixed) |
7 | AEB sequence/auto cancellation | 0: 0, -, + / Enabled 1: 0, -, + / Disabled 2: -, 0, + / Enabled 3: -, 0, + / Disabled |
8 | Shutter curtain sync | 0: 1st-curtain sync 1: 2nd-curtain sync |
9 | Lens AF stop button Fn. Switch | 0: AF stop 1: Operate AF 2: Lock AE and start timer |
10 | Auto reduction of fill flash | 0: Enable 1: Disable |
11 | Menu button return position | 0: Top 1: Previous (volatile) 2: Previous |
12 | SET button func. when shooting | 0: Not assigned 1: Change quality 2: Change ISO speed 3: Select parameters |
13 | Sensor cleaning | 0: Disable 1: Enable |