一、 介绍
TIFF全名Tag Image File Format, 是一种以标记(Tag)为主要结构的位置图像文件格式。TIFF图像是靠指针连接来组织数据的,文件头和数据可以任意数据的存储。TIFF由四种类型:TIFF-B,二色;TIFF-G,黑白灰度;TIFF-P,带调色板的彩色图形;TIFF-R,适合RGB色彩的图形。 二、 组成 TIFF一般来说由四部分组成:文件头(IFH)、文件目录(IFD)、目录内容(DE)、图像数据;如下图,下面具体说明。 三、 具体格式 1. 文件头部分 TIFF图像文件开头部分的8个字节比较固定,包含的信息有: (1)、0-1这两个字节为标识域,固定的为0x4949或者0x4d4d,分别表示小段字节顺序和大端字节顺序。 (2)、2-3这两个字节为TIFF的版本号,一般固定的为0x2a (3)、4-7这四个字节存放图像文件目录(IFD)的偏移量,次偏移量是以文件头开始的。注,只存放单个图像的TIFF文件只有一个IFD。IFD中存放着与该图像有关的特征,即标签(Tag)。 0 2 4 II/MM(表示字节序) | | 文件目录在整个文件的偏移量,是一个指针,指向IFD的开始部分 |
5 8 注意这里的值不一定就是紧接头后的0A地址,可以是任意的。 2. 文件目录部分 TIFF格式的图像文件目录(IFD)由三部分组成,包括IFD中域(Tag)的个数,放在前面两个字节处;域存放具体内容(DE),每个域由12个字节构成,TIFF6.0标准规定每个Tag域要以升序的方式排列;末尾的四个字节是指向下一个IFD的偏移值。 0 2 14 每个项的12个字节,其是连续的,有前两个字节说明其项的总数。对于不同的TIFF格式文件,这里的不同。 3. 目录项 每个目录项(DE)由12个字节组成,格式如下: TAG的值由TIFF标准定义,TIFF 6.0定义了64个Tag类型;不同的TAG表示不同的意思,例如: 1、0x0100表示图像水平方向上的像素个数(ImageWidth); 2、识别码0x0101为图像垂直方向上像素个数(ImageLength); 3、0x0102为每个数据取样(sample)的位数(BitPerSample),支持CMYK色彩空间的在8-11字节给出数据偏移量,无压缩格式时,其数据值为0x080808。 4、SamplePerPixel 标志吗为0x0115,每个像素取样数。支持CMYK色彩空间的在8-11字节给出数据值为4。 5、RowPerStrip标志吗为0x0116,每个带状数据的图像行数。等于ImageLength中图像垂直方向像素的个数,单个TIFF图像文件只有一个带状数据。 6、StripOffsets 0x0111每个带状数据在文件的偏移。即图像数据所在的位置。在CMYK色彩模式下,一个像素用4个字节表示,其顺序为C、M、Y、K;RGB彩色模式下一个像素用3个字节表示,顺序为R、G、B;灰色图像用1个字节表示。 7、StripByteCounts 0x0117 每个带状数据在文件中所占的字节数,在没有压缩的时候,改数值等于图像宽度和高度相乘的字节数。 8、PhotometricInterPretation0x0106 图像所采用的色彩系统,8-11字节的数值为0时,是单色或者灰色的图像,0为白色,数值为1时,是单色或者灰色图像,1为白色, 数值为2时,图像数据以RGB方式存储,数值为5时,图像数据以CMYK的方式存储等。 由于显示器是RGB色彩模式成像的,如果显示CMYK模式的图像,还要进行色彩空间的转换。 R=(255-K)*(255-C)/255 G=(255-K)*(255-M)/255 B=(255-K)*(255-Y)/255 TAG的数据类型表示数据值的类型;例如使用long类型来表示宽度。 数据长度是以数据类型为单位的,真正的数据长度是:数据长度*sizeof(数据类型) 数据值或值的偏移:如果数据长度小于4个字节,一般直接以该字段来表示其值,如果其值大于4个字节,就指定一个文件范围的偏移地址,从那里开始的“数据长度*sizeof(数据类型)”个字节表示该标志的值。 4. 图像数据: 紧接上面数据之后就是图像数据了;图像数据的存储形式有不同的形式,有以像素位来存储的,也有以颜色面来存储的;具体的存储方式在目录项中定义。 四、 一些TAG值 TAG值 | | | | | | | | | | | | BitsPerSample,对于RGB是8,8,8,通过偏移来表示 | | | | | | | | | | | | 每像素的颜色成分,对于RGB这个值一般是3,如果需要其他有ExtraSamples标志 | | | | | | | | | 每个分量(R,G,B)是怎么存储的,1表示按照RGBRGB的顺序来存储 | | | Xresolution和Yresolution的单位 |
更多的参考TIFF标准 五、 一个TIFF文件格式分析
|