- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TIFF文件格式 什么是TIFF文件格式 TIFF是Tagged Image File Format的缩写,是一个广为应用的光栅图像文件格式,它的来源有: 扫描仪 CAD系统 地理信息 … 由Adobe公司授权,包括TIF标记和文档 TIFF包括公共标记和私有标记 TIFF版本信息 1980年发表最早的版本V1、V2 1989年发表版本V5.0 1992年,V6.0 TIFF是一个非常稳定的文件格式,有很长的应用历史 有公共的软件库来读写TIFF格式的图像(支持各种操作系统) TIFF格式的特点 支持从高端到低端的设备 可扩展性强,支持公共和私用的标记结构 支持各种压缩格式 有公共软件库支持 二值图 灰度图 调色板 真彩色 其他扩展 TIFF文件头 “II”/ “MM” 字节顺序 TIFF文件结构 TIFF文件的标记 公共标记(public tag) 在TIFF V5.0的说明中定义了45个标记 Compression 259 SHORT 1 所有TIFF图像必须支持以下标记: NewSubfileType、lmageWidth、 ImageLength、RowsPerStrip、StripOffsets StripByteCounts、Xresolution、Yresolution ResolutionUnit 私有标记(private tag) 由Aldus和Microsoft来分配 取值范围:32,768 - 65,535 TIFF文件的编码 TIFF文件的读取和保存 struct TIFF_img { unsigned char **mono; unsigned char **cmap; unsigned char ***color; char TIFF_type; char compress_type; int height; int width; }; int read_TIFF ( FILE *fp, struct TIFF_img *img ); int write_TIFF ( FILE *fp, struct TIFF_img *img ); Windows系统的图像显示 消息(message) 设备上下文(device context) 设备句柄(handle) 数字图像处理 引言 存储图像信息 图像特点:以象素为单位,矩形区域 信息量大 与操作系统有关:windows、unix、mac 编码方式:无压缩、无损压缩、有损压缩 常用的图像文件格式:BMP、JPEG、TIFF、GIF 基本概念 颜色深度:1,2,4,8,16,24bits/pixel 压缩方式:LZW、rle CCITT3, CCITT4 JPEG, JPEG2000 BMP文件格式 什么是BMP文件格式 Windows操作系统的标准文件格式 虽然大部分BMP文件是不压缩的形式,它本身还是支持图像压缩的,如rle格式(行程长度编码,runlength encoding)和LZW压缩格式等 BMP文件结构 BMP图像文件头 图像信息头(1) 图像信息头(2) 注:在Windows98和Windows2000支持JPEG方式 图像信息头(3) 图像信息头结构定义 调色板和图像数据 GIF文件格式 GIF文件格式特点 采用复杂的LZW编码方式 一个GIF文件可以存储多幅图像 带有色彩表(全局、局部色彩表) 支持图像定序显示或覆盖 可以错行存放 支持文本覆盖 LZW压缩算法 1. 初始化字典。将所有可能的原始字符串加入字典,P:=空串。 2. C:=字符流的下一字符 3. P+C在字典中吗? a. 是,则P:=P+C b. 否, (1) 将对应P的编码加入到码流 LZW压缩算法(续) (2) 将P+C加入字典 (3) P:=C c. 字符流还有字符吗? (1) 是,goto 2 (2) 否, i. 输出P的编码 ii. 结束 LZW压缩举例 初始字典: A B C 字符流: 编码过程: LZW解压缩算法 1. 初始化字典 2. cW := 码流的第一个码 3. 输出string(cW)到字符流 4. pW := cW 5. cW := 码流的下一个码 6. string(cW)在字典中吗? a. 是 (1) 输出string(cW)到字符流 (2) P:=string(pW) LZW解压缩算法(续) (3) C:=string(cW)的第一个字符
原创力文档


文档评论(0)