logo资料库

RAW CR2文件完全解析.doc

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
首先是 8 个字节的文件头。 CR2 的前 2 个字节是"II",代表 INTEL 格式的存储顺序,即低字节在前,高字节 在后。 接下来是固定的 2 个字节:0x2a00。 最后的 4 个字节的整数是指向第一个 IFD(IMAGE FILE DIRECTORY)的绝对偏置 量(起始位置)。 IFD 的结构如下: 第一个 2 字节的整数表示在此 IFD 内的 entry 的数量,每个 entry 为 12 字节, 顺序排列。最后一个 entry 之后的 4 字节整数代表下一个 IFD 的起始位置,如果 是 0,表示这是最后一个 IFD。 ENTRY 的结构如下: 第一个 2 字节的整数为 tag,表示是哪种信息; 第二个 2 字节的整数为 type,表示单个数据的格式,对应的数据类型如表: type 值 格式 单个数 据字节 数 type 值 格式 undefined signed short 单个数 据字节 数 1 1 2 3 4 5 6 unsigned byte ascii strings unsigned short unsigned long unsigned rational signed byte 1 7 1 8 2 signed long 2 9 4 4 10 8 1 11 12 signed rational single float double float 8 4 8 第三个 4 字节的整数为 len,表示数据的个数; 由 type 值可以确定单个数据占用的字节数,乘以 len 就是数据的总长度。如果 数据总长不超过 4 个字节,则保存在 entry 最后的 4 个字节中;如果超过 4 个字 节,则 entry 最后的 4 字节整数代表数据的存储位置相对文件头的偏置量。在该 位置上可以读取数据。 根据这样的规则,就可以从 raw 文件中确定里面所含的
每个 IFD 内的每个 tag 值,及按照 type 和 len 信息确定数据位置并读取。接下 来是一个查表解读的过程。 在 IFD 中对应 tag 0x8769 的 4 位整数是指向另一个含有 EXIF 信息的子 IFD 的偏 置量。 EXIF 子 IFD 的结构与 IFD 相同,只是只有一个。 在 EXIF 子 IFD 中对应 tag 0927c 的 4 位整数是指向另一个含有 MAKERNOTE 信息 的子 IFD 的偏置量。该子 IFD 的结构与 IFD 相同,也只有一个。 按照以上规则从 CR2 文件中顺序读出的内容为: (HEX) TYPE LEN 名称 含义 编 号 类别 order= val= ifd= offset entries tiff 1 100 tiff 2 101 tiff 3 102 tiff tiff tiff 4 103 5 10F 6 110 tiff 7 111 tiff 8 112 tiff 9 117 tiff tiff 10 11A 11 11B tiff 12 128 tiff 13 132 3 3 3 3 2 2 4 3 4 5 5 3 2 1 1 3 1 6 JpegImageWidth JpegImageLength JpegBitsPerSample Compression Maker 14 Model 1 1 1 1 1 1 JpegStripOffsets Orientation JpegStripByteConunts XResolution YResolution ResolutionUnit 20 DateTime tiff 14 8769 4 1 ExifOffset JPEG 图宽 度 JPEG 图高 度 每通道位 数 压缩 制造商 相机型号 JPEG 图偏 置值 方向 JPEG 图数 据长度 X 分辨率 Y 分辨率 分辨率单 位 修改时刻 exif 信息 IFD 的偏
exif entries exif exif exif exif exif exif 1 829A 5 2 829D 5 3 8822 3 4 8827 3 5 9000 7 6 9003 2 exif 7 9004 2 exif 8 9101 7 exif 9 9201 A exif 10 9202 5 exif exif 11 9204 A 12 9207 3 exif 13 9209 3 exif 14 920A 5 1 1 1 1 4 14 14 4 1 1 1 1 1 1 exif 15 927C 7 20A8 MakerNoteOffset makernote entries make make make make make make make 1 1 2 2 3 3 4 4 5 6 6 7 7 9 make 8 C make 9 D 3 3 3 3 2 2 2 4 7 46 CameraSettings1 4 4 34 32 32 32 CanonFocalLength CameraSettings2 Image Type Firmware Version Owner Name 1 Camera Serial Number 1024 ExposureTime FNumber ExposureProgram ISOSpeedRatings ExifVersion DateTimeOriginal DateTimeDigitized 置量 曝光时间 光圈 曝光程序 ISO 值 exif 版本 拍摄时刻 数字化时 刻 ComponentsConfiguration ? ShutterSpeedValue ApertureValue ExposureBiasValue MeteringMode Flash FocalLength 比 1 秒快 的级数 比 F1 小的 级数 补偿级数 测光模式 闪光灯运 行 镜头焦距 makernote 信息 IFD 的偏置量 相机设置 1 焦距 相机设置 2 图片类型 硬件版本 拥有者 序列号,为 4 字节整 数值
Custom Functions 用户设置 CanonPictureInfo 图像信息 CanonFileInfo CanonColorInfo 文件信息 色彩信息 10 F 11 10 12 12 13 13 14 15 15 19 16 83 17 93 18 A0 19 AA 20 D0 21 E0 3 4 3 3 4 3 4 3 3 3 4 3 22 4001 3 19 1 28 4 1 1 1 16 14 5 1 17 582 make make make make make make make make make make make make make make make exif 23 4002 3 2676 24 4003 3 22 16 9286 7 108 UserComment exif 17 A000 7 exif 18 A001 3 exif 19 A002 3 exif 20 A003 3 exif 21 A005 4 exif 22 A20E 5 exif 23 A20F 5 exif 24 A210 3 exif 25 A401 3 exif 26 A402 3 exif 27 A403 3 exif 28 A406 3 4 1 1 1 1 1 1 1 1 1 1 1 FlashPixVersion ColorSpace ExifImageWidth ExifImageHeight ExifInteroperabilityOffset FocalPlaneXResolution FocalPlaneYResolution FocalPlaneResolutionUnit CustomRendered ExposureMode WhiteBalance SceneCaptureType 用户备注 flashpix 版本 色彩空间 主图像宽 度 主图像高 度 指向 IFD。 描述互通 性 像面分辨 率 像面分辨 率 像面分辨 率单位 渲染方 式? 曝光模式 白平衡设 置 图像类 型?
ifd = offset= entries= tiff 1 201 4 tiff 2 202 4 ifd = offset= entries= tiff 1 100 tiff 2 101 tiff 3 102 tiff 4 103 tiff 5 106 tiff 6 111 tiff 7 115 tiff 8 116 3 3 3 3 3 4 3 3 tiff 9 117 4 tiff 10 11C 3 tiff ifd 11 C5D9 4 = offset= entries= tiff 1 103 tiff 2 111 3 4 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 JpegIFOffset JpegIFByteCount RGBImageWidth RGBImageLength RGBBitsPerSample Compression JPEG 缩略 图偏置量 JPEG 缩略 图数据长 度 RGB 缩略 图宽度 RGB 缩略 图高度 每通道位 数 压缩(无 效?) PhotometricInterpretation 色彩空间 RGBStripOffsets RGBSamplesPerPixel RGBRowsPerStrip RGBStripByteConunts PlanarConfiguration Compression StripOffsets RGB 缩略 图偏置值 每像素通 道数 数据块中 的行数 RGB 缩略 图数据长 度 如果是 YCRCB,排 列方式 压缩(无 效?) RAW 图偏 置值
tiff 3 117 4 tiff tiff 4 C5D8 4 5 C5E0 4 1 1 1 StripByteConunts RAW 图数 据长度 makernotes 的部分内容是整型数组,按照在数组中的位置解析: 名称 数组中的位置 含义 CameraSettings1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Length in bytes Macro mode Self-timer in 1/10 second Quality Flash Mode Continuous drive mode Focus Mode Image Size Easy shooting Mode Digital Zoom Contrast Saturation Sharpness ISO Speed Metering Mode Focus Type Auto Focus Point Selected Exposure Mode LensType long focal length of lens short focal length of lens focal units per mm Flash Activity Flash details
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 FocusContinuous ZoomedResolution ZoomedResolutionBase ColorTone Custom Functions 1 Length in Byte 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 SetFunctionWhenShooting LongExposureNoiseReduction FlashSyncSpeedAv Shutter-AELock AFAssistBeam ExposureLevelIncrements FlashFiring ISOExpansion AEBSequence SuperimposedDisplay MenuButtonDisplayPosition MirrorLockup AFPointSelectionMethod ETTLII ShutterCurtainSync SafetyShiftInAVorTV LensAFStopButton AddOriginalDecisionData CanonFocalLength 2 FocalLength 3 FocalPlaneXSize in 1/1000
4 CanonPictureInfo 3 4 5 6 23 1 2 3 1 10 CanonFileInfo CanonColorInfo CameraSettings2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 inch FocalPlaneYSize in 1/1000 inch CanonImageWidth CanonImageHeight CanonImageWidthAsShot CanonImageHeightAsShot AFPointsUsed Length in Byte Directory filenumber Length in Byte ColorTemperature Length in Byte ISO TargetAperture TargetExposureTime ExposureCompensation WhiteBalance SequenceNumber FlashExposureComp AutoExposureBracketing AEBBracketValue FocusDistanceUpper FocusDistanceLower FNumber ExposureTime
分享到:
收藏