关于EXIF格式的分析皇牌天下投注网

来源:http://www.prospettivedarte.com 作者:集团团建 人气:174 发布时间:2019-06-27
摘要:JPEG格式和标志 JPEG文件都是以十六进制的 0xFFD8 开始,以 0xFFD9结束。在JPEG数据中,0xFF**这样的数据被用作标志,表示JPEG信息数据段。0xFFD8表示SOI(Start Of Image图像的开始),以0xFFD9 表示

皇牌天下投注网 1

JPEG格式和标志
JPEG文件都是以十六进制的 0xFFD8 开始,以 0xFFD9 结束。在JPEG数据中,0xFF** 这样的数据被用作标志,表示JPEG信息数据段。0xFFD8表示SOI(Start Of Image 图像的开始),以0xFFD9 表示EOI(End of Image 图像结束)。这两个特殊的标志没有附加的数据,而其他标志都在标志后面带有附加的数据。
0xFF 标志数字(1字节) 数据大小(2字节) 数据(n字节)

分辨率

数据大小(2字节) : 是大端顺序表示,从高字节开始。

  近日,又一张疑似索尼α7r II拍摄的照片曝光。在Flickr网站上出现一张照片(文件地址),其最大分辨率达到9440 x 6300(约为5900万像素)。此前蔡司Batis镜头样张的分辨率是8910 x 6300(非3:2比例,可能经过剪裁)。当然不能排除该照片可能通过后期插值放大,但有人贴出了这张照片的Exif信息。

0xFFC1 00 0C
表示标志 0xFFC1 有0x000C(12)个字节数据,但是数据的大小"12"也包含了记录数据大小的字节,所以在0x000C后面只有10个字节的数据量。

皇牌天下投注网 2

在JPEG格式中,一些标志描述数据后,跟着的是SOS(Start Of Stream 数据流开始) 标志。在SOS标志后,就是JPEG图像流,知道EOI标志终结。格式如下所示:

Exif信息

皇牌天下投注网 3

皇牌天下投注网 4

image.png

解码打开信息

Exif中使用的标志
从0xFFE0 ~ 0xFFEF 的标志是“应用程序标志”,在解码JPEG图像的时候不是必须使用的。这些标志被用在用户应用中。
Exif也使用应用程序标志来插入数据,但是Exif使用APP1(0xFFE1)标志以避免和JFIF格式冲突。
JFIF是JPEG档案交换格式,数码相机会用这个格式来存储照片。每个EXIF格式都是从下面格式开始的:

  有人下载了完整源文件,利用文件编辑器将其打开,可以看到开头有SONYILCE-7RM2字样。这可能说明α7r II真的存在。

皇牌天下投注网 5

  文章来源:FAKE rumor busted: 59MP image from Sakamoto has been shot on the A7II and upsized to 59MP.

image.png

  本文仅供读者参考,本网站不对内容准确性和消息来源负责。

从SOI(0xFFD8) 标志开始,因此是一个JPEG文件。后面跟着一个APP1标志。所有的Exif数据都储存在APP1数据区中。
上面的SSSS 部分表示APP1 数据大小,这个大小是包括SSSS本身的。

APP1 数据从 SSSS 后开始,第一部分是特殊数据,使用ASCII字符"Exif"和两个字节的0x00,它定义了是否使用Exif。
在APP1标志数据之后,是其他JPEG标志。

Exif数据结构采用的是Intel 的小端字节顺序方案,且包含JPEG格式的缩略图。总体上,Exif数据是从ASCII字符Exif和2个字节0x00开始,后面就是Exif的数据了。
Exif 使用TIFF格式来存储数据,TIFF 格式请参考官方文档:
https://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf
如果不是adobe的partner,应该打不开上面的网址。不过本人已经备份了一份tiff6 的pdf文档在github,地址如下:
https://github.com/CainKernel/tiff6.git

下面我们介绍一下TIFF格式。

TIFF数据格式
TIFF数据格式是一种3级体系结构,从高到低一次为 文件头IFH(Image File Header),一个或多个IFD(Image File Directory)的包含标记指针的目录和数据,一个文件中可以包含多个IFD,每个IFD对应一个图像。

 ------------------------------------------------------------------------------ 
|                           TIFF Structure                                     |
|  IFH                                                                         |
|  ------------------                                                          |
| | II/MM            |                                                         |
|  ------------------                                                          |
| | 42               |      IFD                                                |
|  ------------------      ------------------                                  |
| | Next IFD Address |--->| IFD Entry Num    |                                 |
|  ------------------      ------------------                                  |
|                         | IFD Entry 1      |                                 |
|                          ------------------                                  |
|                         | IFD Entry 2      |                                 |
|                          ------------------                                  |
|                         |                  |      IFD                        |
|                          ------------------      ------------------          |
|     IFD Entry           | Next IFD Address |--->| IFD Entry Num    |         |
|     ---------             ------------------     ------------------          |
|    | Tag     |                                  | IFD Entry 1      |         |
|     ---------                                    ------------------          |
|    | Type    |                                  | IFD Entry 2      |         |
|     ---------                                    ------------------          |
|    | Count   |                                  |                  |         |
|     ---------                                    ------------------          |
|    | Offset  |--->Value                         | Next IFD Address |--->NULL |
|     ---------                                    ------------------          |
|                                                                              |
 ------------------------------------------------------------------------------ 

TIFF图像基本信息
基本信息包括大小、颜色模型(黑白图像、灰度图像、调色板图像、真彩色等)、每个像素的大小和单位等信息

每个图像必须包含的标签有(含压缩类型):

ImageWidth 256 SHORT or LONG
ImageLength 257 SHORT or LONG
XResolution 282 RATIONAL
YResolution 283 RATIONAL
ResolutionUnit 128 SHORT 1, 2 or 3
Compression 259 SHORT 1, 2 or 32773

其中颜色模型由几个标签组合判断:

PhotometricInterpretation 262 106 SHORT 0/1/2/3
BitsPerSample 258 SHORT 4 or 8
SamplesPerPixel 277 SHORT default(1)
ColorMap 320 SHORT 3 * (2**BitsPerSample)

色彩模型:
TIFF基础部分定义了4中色彩模型,不讨论掩码图像和扩展色彩模型,主要有:二值图像、灰度图像、调色板图像、真彩色图像

二值图像(Bilevel Image)
如果没有BitsPerSample 则为二值图
颜色模型 PhotometricInterpretation 必须为0或1
压缩类型 Compression 1,2,32773,支持Huffman编码

灰度图(GrayScale Image)
有BitsPerSample,且PhotometricInterpretation 为0或1
压缩类型 Compression 1 或 32773,不支持Huffman编码

调色板图像(Palette-color Image)
PhotometricInterpretation 为3
必须包含ColorMap
BitsPerSample 为 4 或 8
Compression 为 1 或 32773, 不支持Huffman编码

真彩色图像(RGB Full Image)
PhotometricInterpretation 为 2
必须包含SamplesPerPixel 波段数信息,值为3
BitsPerSample 必须为 8, 8, 8
没有ColorMap
Compression 为 1 或 32773,不支持Huffman编码

其他模型
TIFF的扩展特性中还包含CMYK 和 YCbCr等其他色彩模型
详细信息请参考TIFF6.0规范。

条带和分片
其中数据组织方式有条带和分片两种,默认为条带方式存储

条带图像必要的标签

RowsPerStrip 278 SHORT or LONG
StripOffsets 273 SHORT or LONG
StripByteCounts 279 SHORT or LONG

RowPerStrip 缺省值为 2^32 - 1,图像将只有一个条带
如果条带数据不足,末尾并不需要数据填充

分片图像必要的标签:

TileWidth 322 SHORT or LONG
TileLength 323 SHORT or LONG
TileOffsets 324 SHORT or LONG
TileByteCounts 325 SHORT or LONG

每个片的大小必须是16的倍数,每个片的长和宽可以不同
如果片数据不足的话,需要填充(填充数据没有要求)

位平面
位平面由PlanarConfiguration 标签确定,缺省时为1表示按像素组织(RGBRGB)
当PlanarConfiguration 为2 时,为按通道存储(RRGGBB)
当只有1通道(SamplesPerPixel)时,位平面信息可以忽略

本文由皇牌天下投注网发布于集团团建,转载请注明出处:关于EXIF格式的分析皇牌天下投注网

关键词:

上一篇:纪实:中国最后的枪手部落

下一篇:没有了

频道精选

最火资讯