数据压缩第二周作业 |
您所在的位置:网站首页 › tif文件怎么压缩 › 数据压缩第二周作业 |
数据压缩第二周作业
TIFF格式概述特点组成图像文件头(Image File Header - IFH)ByteorderVersionOffest to first IFD
图像文件目录(Image File Directory - IFD)Directory Entry CountDirectory EntryOffset to next IFDDE(图像属性)的详细说明
图像数据
实例详解总结
TIFF格式概述
TIFF(Tagged Image File Format):标记文件格式,是一种灵活的位图格式,TIFF位图文件默认的文件扩展名是tif或者tiff。(注意,tif和tiff可以理解为文件格式相同) 特点 在刚开始,TIFF只支持二值图像,后来逐渐支持灰阶图像和彩色图像。现在可以将TIFF分为四种类型:TIFF-B,双色;TIFF-G,黑白灰度;TIFF-P,带调色板的彩色图形;TIFF-R,适合RGB色彩的图形。支持256色、24位真彩色、32位色、48位色等多种色彩位;支持RGB、CMYK以及YCbCr等多种色彩模式,支持多平台;最大位深为32bit;支持压缩和不压缩两种类型,其中压缩支持多种压缩格式,变化较多。通常TIFF文件的格式如下:最常见的排列方式为:IFH-文件数据-IFD![]() TIF图一般由三个部分组成:文件头(简称IFH)、文件目录(简称IFD)以及图像数据。 一个TIFF文件可以有多个IFH,但是只能有一个IFD。 下面仔细介绍一下TIFF文件。 (所有的标签都是以升序排列) 在检索时,可以快速利用偏置位置迅速找到数据所在位置。 图像文件头(Image File Header - IFH)由8个字节组成,以升序排列,IFH 包含 3 个成员:Byteorder、version、offset to first IFD。 名称字节数数据类型Byteorder2整型Version2整型Offset4整型 Byteorder字节顺序标志位,取值为4D4D(“MM”)或4949(“II”)。MM表示大字节在前,小字节在后,II表示小字节在前,大字节在后。 VersionTIFF标志位,值固定为 2A00(42)。可用于检验tiff文件 Offest to first IFD偏置,第一个 IFD 相对于文件起始位置的偏移量(由于偏置必须以 Word 边界开始,因此值必须为2的整数倍)。 注意:IFH后不一定紧接着就是IFD,通常有的时候会先有多个IFH,才会有IFD。 图像文件目录(Image File Directory - IFD)和IFH一样,IFD同样包含三个元素:Directory Entry Count、Directory Entry以及Offset to next IFD。IFD用于标识一个图像的所有属性,具有图片属性也称为图片标签。 一个 TIFF 文件可以包含多个 IFD,一个 IFD 标识一个图像的属性。 名称字节数数据类型Directory Entry Count2整型Directory Entryn*12整型Offset to next IFD4Long Directory Entry CountDE(Directory Entry )个数,表示此IFD中包含多少个DE。假设此IFD具有n个DE。 Directory EntryDE,每个DE标识图像的一个属性,图像具有n个属性则具有n个DE,一个DE占用12个字节,因此n个DE总共占用(n*12)个字节。 Offset to next IFD距离下一个IFD相对于文件开始的偏移量。例如,如果一个TIF文件中只包含一张图片,则只有一个IFD,偏移量等于0。 DE(图像属性)的详细说明一个 DE 记录一个图像的属性,例如图像的分辨率、是否进行压缩等。其存储结构如下所示: 名称字节数数据类型Tag2整型Type2整型Length4LongOffset4Long Tag:属性的标签编号,按升序排列。Type:属性的数据类型Length:该类型的数据个数(数量)Offest:(有时没有offset) 是TagID代表的变量值相对文件开始处的偏移量,如果实际数据的字节数小于等于 4,则不需要设置偏移量,直接存储数据。Type类型:Rational:由两个Long组成,第一个位分数,第二个位偏移地址 其中Tag属性根据一下表中数据判断: TagID属性名称type说明0100图像宽int(分辨率单位)0101图像高int(分辨率单位)0102颜色深度int1为单色,4为16色,8为256色;如果该类型数据个数>2个,说明是真彩图像0103图像数据是否压缩int05表示压缩0106图像是否采用反色显示int01表示反色,否则表示不反色011A水平分辩率偏移量Rational常用计量单位是:像素/英寸011B垂直分辩率偏移量Rational常用计量单位是:像素/英寸0132生成该图像的时间ASCII文本类型(7位ASCII码加1位二进制0)0140调色板偏移量int256色和16色图像才有此属性;而且有连续2个1、Rational指分数类型,由两个Long组成,第1个是分子,第2个是分母 2、ASCII码:文本类型 2、在Adobe官网我找到了TIFF详细的DE定义,附在参考文献中,供大家查询。 图像数据TIFF支持多种数据存储格式(包括压缩未压缩、像素位存储或颜色面存储等),根据IFD中的设置进分析。TIFF支持的数据压缩类型可能比任何其他的图像文件格式都多。因此TIFF具有一个弊端,由于其压缩方式的多样性,许多有效的TIFF文件可能只能由个别程序进行识别。 (不过实际中图像经常采用LZW压缩) 在不缓冲整个文件的情况下,TIFF文件的流式传输在所有情况下都是不可能的。 目前Adobe享有TIFF规范版权,用于TIFF格式的管理和维护。Adobe可以创建带有单层图层的TIFF文件,同时还可以选择使用图像金字塔保存TIFF。 实例详解注意:在读写字节流时由于TIFF为小字节在前,要从右向左读。 PS:CSDN上上传不了tiff格式的图片,利用wechat截图给大家举一个例子;将tiff格式的图片利用Visual Studio 2019二进制编辑器打开。 最终获得的二进制码如下: 逐次进行验证: 1、IFH部分: (此图只有一张图片,故有且只有一个IFD) 对偏移量做一点说明:偏移量08 (指向第1行,第8列)2、IFD部分: 由IFH中偏移量得出:08为IFD开始处,有0x14,也就是十进制中20个DE(图片属性),每个DE占12个字节,20个DE共占240字节; 对DE进行分析: 1、值得一提的是,在建立TIFF图片文件时,我最开始使用画板创建的tiff图片太宽,宽高太夸张,于是我就用PS对图片进行截取,最终获得了合适的图片。再利用PS进行图片保存过程时,选择储存图片方式位tiff会弹出这种提示窗,用户可以选择压缩或者不压缩两种格式。 这也验证了TIFF图片存储具有多种方法,支持压缩也支持不压缩。 2、TIFF的DE标签存储的内容很大,最开始练习读TIFF16进制数据的时候不太习惯,有的时候很容易找不到DE标签的位置。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |