图像编解码技术及应用
第六章图像编码技术()

6.3 基础理论
信息量 概率为P(E)的随机事件 E 的信息量
1 I ( E ) log logP ( E ) P( E )
I(E )称为E的自信息(随概率增加而减少) 特例:P(E ) = 1(即事件总发生),那么I(E ) = 0 信息的单位:比特(log以2为底)
产生单个信源符号的自信息:I (aj) = –logP(aj)
2
峰值信噪比(PSNR)
2 PSNR 10 lg MN f max f max max{f ( x, y )}
M 1 N 1 x 0 y 0
ˆ ( x, y ) f ( x, y ) 2 f
2. 主观保真度准则 观察者对图像综合评价的平均 P151 例6.2.1 电视图像质量评价
SNRms
g x, y
2
g x, y f x, y
2
将 SNRms 归一化信噪比并用分贝(dB)表示.令
1 M 1 f MN x 0
N 1 y 0
f ( x, y )
则有
M 1 N 1 2 f ( x, y ) f x 0 y 0 SNR 10 lg M 1 N 1 ˆ f ( x, y ) f ( x, y ) x 0 y 0
哈夫曼的编法并不惟一 (2)
例:单符号离散无记忆信源
X x1 , x2 , x3 , x4 , x5 , P( X ) 0.4 0.2 0.2 0.1 0.1 ,用
两种不同的方法对其编二进制哈夫曼码。
方法一:合并后的新符号排在其它相同概率符号的后面。
编解码使用场景 -回复

编解码使用场景-回复编解码使用场景是指将数据从一种格式转换为另一种格式的过程。
在计算机领域中,编码是将信息转换为二进制形式,而解码则是将二进制数据转换回原始格式的过程。
编解码在许多应用程序和领域中都非常重要,本文将一步一步回答关于编解码使用场景的问题,从而更好地理解它们的应用。
第一步:了解编解码的基本原理编码和解码是信息传输和存储的关键步骤。
在计算机中,所有的信息都以二进制形式表示,由0和1组成。
编码是将不同类型的数据(如文本、图像或音频)转换为二进制表示形式的过程,以便计算机能够理解和处理它们。
解码则是将二进制数据转换回原始数据格式的过程,以便人类能够理解和使用。
第二步:了解编解码的常见应用场景1. 数据传输:编解码在数据传输中发挥着重要作用。
在计算机网络中,数据需要在不同的计算机之间传输。
编码将数据转换为二进制形式,以便在网络上传输。
在接收端,解码将二进制数据转换回原始格式,以便接收方能够理解和使用。
2. 压缩和存储:编码在数据压缩和存储过程中也扮演着重要的角色。
通过使用特定的编码算法,可以减少数据的空间占用和存储需求。
解码则将压缩的数据转换回原始格式,以便进行解压缩和还原。
3. 多媒体处理:编解码广泛应用于多媒体处理,如图像、音频和视频。
在图像处理中,编码可以将图像转换为二进制形式用于存储和传输,解码则将二进制数据转换回图像。
音频和视频也是类似的,将音频和视频数据编码为二进制形式进行存储和传输,然后解码还原为原始音频和视频。
4. 加密和安全通信:编解码也在加密和安全通信中发挥着重要作用。
加密使用编码算法将敏感数据转换为密文,以保护数据的机密性。
解密则使用相应的解码算法将密文转换回原始数据。
第三步:详细了解编解码的具体应用场景1. 图像编解码:图像编解码在许多领域中都非常重要。
例如,图像压缩算法(如JPEG)将图像编码为二进制形式进行传输和存储,并使用解码算法将其还原。
图像编解码也广泛应用于图像处理领域,如图像增强、图像编辑和图像识别等。
数字图像编码技术的设计与应用

尽 管都 希望 能够 无 损 压缩 , 但 是 通 常有 损 压 缩 的 压
缩 比( 即原影 像 占的字 节 数 与压 缩 后影 像 占的 字 节 数之比, 压缩 比越 大 , 说 明压缩 效 率 越 高 ) 比无 损压
缩 的高 。
影像 压缩编码 的主要 应 用是 影像 信 息 的传 输 和
数 字 图像 处理 , 就 是利 用 数 字 计 算 机 或 其 他 高 速、 大 规模 集成 数 字硬 件 , 对 从 图像信 息 转换 而来 的 数 字 电信 号进 行某 些 数 字 运 算 或 处 理 , 以期 提 高 图
压 缩算法 的时候必须考 虑到这一 问题 。 压 缩 的理论 基 础是信 息 论 。从 信 息论 的角 度来
真 条件 下进 行 。编 码 技 术 是 压 缩 技 术 的重 要 方 法 ,
从 压缩 后 的影像 能 够 完 全恢 复 出原 来 的影像 , 信 息
没 有任 何 丢失 , 称 为 无损 压缩 ; 第二 类压 缩过 程是 不
目前 , 数 字 图像 处理 的信 息 大多是 二 维信 息 , 数 据 信
Vo 1 . 4 No .1 Ap r . , 2 01 3
数字 图像编码技术 的设 计与应用
陶 俊 , 陈 铮
( 1 . 江汉大学 数学与计算机科学学 院 ; 2 . 江汉大学文理学 院 信 息技术学部 , 武汉 4 3 0 0 5 6 )
摘
要: 针 对 影 像 压 缩 编 码 的具 体 要 求 , 通过 J P E G影像 压 缩编码 算 法和理论 , 实现 了 B M P影 像 文 件 从 l到
息量 很 大 , 它对计 算 机 的计算 速度 、 存 储容 量等 要求 较 高 。图像 压缩 一般 是通 过 改变 图像 的表 示方 式来
第7章图像编码.ppt

像素冗余
由于任何给定的像素值,原理上都可以 通过它的相邻像素预测到,单个像素携 带的信息相对是小的。对于一个图像, 很多单个像素对视觉的贡献是冗余的。 这是建立在对邻居值预测的基础上。
例:原图像数据:234 223 231 238 235 压缩后数据:234 11 -8 -7 3,我们可以
对一些接近于零的像素不进行存储,从而 减小了数据量
7.1.5 图像传输中的压缩模型
源数据编码:完成原数据的压缩。
通道编码:为了抗干扰,增加一些容错、 校验位、版权保护,实际上是增加冗余。
通道:如Internet、广播、通讯、可移动介 质。
源数据 编码
通道 编码
通道
通道 解码
源数据 解码
7.2 哈夫曼编码
1.
根据信息论中信源编码理论,当平均码长R大于等于图像熵H时,总可设 计出一种无失真编码。当平均码长远大于图像熵时,表明该编码方法效率很低; 当平均码长等于或很接近于(但不大于)图像熵时,称此编码方法为最佳编码, 此时不会引起图像失真; 当平均码长大于图像熵时,压缩比较高,但会引起图 像失真。
第七章 图像编码
7.1 图像编码概述 7.2 哈夫曼编码 7.3 香农-范诺编码 7.4 行程编码 7.5 LZW编码 7.6 算术编码 7.7 预测编码 7.8 正交变换编码 7.9 JPEG编码 7.10 编程实例
7.1 图像编码概述
7.1.1 图像编码基本原理
虽然表示图像需要大量的数据,但图像数据是高度相关的, 或者说存在冗余(Redundancy)信息,去掉这些冗余信息后可以 有效压缩图像, 同时又不会损害图像的有效信息。数字图像的 冗余主要表现为以下几种形式:空间冗余、时间冗余、视觉冗余、 信息熵冗余、结构冗余和知识冗余。
如何使用图像处理技术进行图像编码与解码

如何使用图像处理技术进行图像编码与解码图像处理技术在数字图像领域发挥着重要的作用。
其中一项重要的任务是图像编码与解码,也就是将图像转化为可压缩的数字数据,并且能够通过解码还原出原始图像。
本文将介绍如何使用图像处理技术进行图像编码与解码。
图像编码是指将图像转换成一系列可被计算机存储的数字数据的过程。
通常情况下,图像编码的目标是将图像的信息以尽可能少的比特数进行存储,从而实现图像的压缩。
这样,不仅能够节省存储空间,还能够提高传输效率。
在图像编码中,常用的方法之一是无损编码。
无损编码是指编码后能够通过解码还原出原始图像,不损失任何信息。
其中一种常见的无损编码方法是预测编码。
预测编码通过利用图像中像素之间的相关性来减少冗余信息,从而实现图像的压缩。
预测编码的基本思想是通过对目标像素的预测来减少需要编码和存储的信息。
常用的预测方法有平均预测和差值预测。
平均预测是通过对目标像素周围像素的平均值进行预测,差值预测是通过目标像素与周围像素的差值进行预测。
通过对预测误差进行编码,可以达到无损压缩图像的目的。
另一种常见的图像编码方法是有损编码。
有损编码通过舍弃一部分图像信息来实现更高程度的压缩。
在图像编码中,人眼对于某些细节的敏感度较低,因此可以通过舍弃这些细节来减少数据量。
有损编码方法中最著名的是JPEG压缩算法。
JPEG压缩算法通过采用离散余弦变换(DCT)将图像转换到频域,再通过量化将高频分量舍弃,从而实现图像的压缩。
图像解码是指将经过编码压缩的图像数据通过解码过程还原为原始图像的过程。
在无损编码中,解码过程是直接的,可以通过将编码的信息进行反向处理来还原图像。
而在有损编码中,解码过程需要经过反量化和反离散余弦变换等步骤来恢复原始图像的细节。
解码过程的目标是尽可能准确地还原原始图像。
除了预测编码和JPEG压缩算法之外,还有一些其他的图像编码与解码方法可以使用。
例如,基于向量量化的编码方法可以更好地利用像素之间的关联性,从而实现更高效的图像压缩。
基于人工智能的图像编码技术进展(八)

图像编码技术是计算机科学与图像处理领域的重要研究方向,它对于图像的压缩和传输起着关键作用。
随着人工智能技术的不断发展,基于人工智能的图像编码技术也取得了较大的进展。
本文将从图像编码技术的发展背景、基于人工智能的图像编码技术的原理和应用以及未来的发展趋势等方面进行论述。
一、发展背景随着数字图像的广泛应用,图像编码技术在数字传输和存储中起到了重要作用。
在过去,人们主要依靠传统的编码算法,如JPEG和MPEG等,来实现对图像的压缩和传输。
但是,这些传统的编码算法在图像质量和压缩比方面存在一定的局限性。
因此,人们不断探索新的图像编码技术,以满足不断增长的图像处理需求。
二、基于人工智能的图像编码技术原理基于人工智能的图像编码技术主要依赖于深度学习和卷积神经网络等算法。
首先,通过大量的图像样本进行训练,构建出一个深度卷积神经网络模型。
然后,将图像输入网络中,通过网络的自动提取和学习,获取图像的高级抽象特征。
最后,根据提取到的特征重建图像,实现对图像的编码和解码。
三、基于人工智能的图像编码技术应用基于人工智能的图像编码技术在图像处理和计算机视觉领域有着广泛的应用。
首先,它可以应用于图像传输和存储领域,实现对图像的高效压缩和传输。
同时,基于人工智能的编码技术可以提高图像的还原质量,使得图像在传输和展示过程中更加清晰和细腻。
其次,基于人工智能的图像编码技术可以应用于图像分类和图像识别等领域,实现对图像内容的智能分析和识别。
例如,在医学影像领域,通过基于人工智能的图像编码技术,可以实现对肿瘤等疾病的自动检测和诊断。
四、基于人工智能的图像编码技术的未来发展趋势目前,基于人工智能的图像编码技术仍处于不断发展阶段。
未来的发展趋势主要集中在以下几个方面:1. 提高编码效率:随着人工智能技术的进一步发展,基于人工智能的图像编码技术将进一步提高图像的压缩效率和编码速度,以适应快速发展的图像处理需求。
2. 改善图像质量:未来的研究重点将放在提高图像的还原质量和保护图像细节等方面,以实现对图像真实性的更好保持。
图像编码在视频编码中的作用与应用

图像编码在视频编码中的作用与应用随着互联网技术的飞速发展,视频成为了人们生活中不可或缺的一部分。
在视频传输和存储过程中,图像编码技术发挥着至关重要的作用。
本文将探讨图像编码在视频编码中的作用和应用。
一、图像编码的基本原理图像编码是将原始图像通过压缩算法转化为更小的数据量进行传输和存储的过程。
图像编码的基本原理是利用人眼对空间和频率分辨率的感知特性,对图像进行无损或有损的压缩和重构。
无损压缩无损压缩是指通过编码技术将图像进行压缩,然后再解压缩时完全还原为原始图像的过程。
无损压缩广泛应用于要求图像质量不受损失的领域,如医学影像、卫星图像等。
典型的无损压缩算法有无损预测编码、算术编码等。
有损压缩有损压缩是指通过牺牲部分图像质量以获得更高的压缩比的过程。
有损压缩广泛应用于数字媒体领域,如数字摄像头、网络视频传输等。
典型的有损压缩算法有JPEG、MPEG等。
二、图像编码在视频编码中的作用视频编码是将连续的图像序列进行编码压缩,以方便存储和传输。
而图像编码作为视频编码的基础,起到了至关重要的作用,主要体现在以下几个方面。
提高存储和传输效率视频的存储和传输需要大量的存储空间和带宽。
图像编码通过压缩算法,将原始图像转化为更小的数据量,从而提高了存储和传输的效率。
特别是在网络传输中,图像编码可以通过减少传输数据量,降低传输延迟,提高视频质量和播放流畅度。
保证视频质量图像编码在有损压缩中,通过聚焦在人眼对于图像细节的敏感程度上,牺牲了一些不敏感的细节,从而减少了数据量,并降低了视觉质量。
但是,它仍然可以保证视频的足够质量,使人眼感知到的图像差异在可接受范围内,满足了大部分应用场景的需求。
此外,图像编码还可以通过调整编码参数,如量化步长、编码位率等来控制视频质量。
实现快速的视频编解码由于视频数据量庞大,若没有图像编码的支持,视频编码和解码的速度将会极慢。
图像编码的压缩算法通常是高度并行化的,其编解码速度较快。
此外,图像编码还有许多实时编码的特性,如JPEG2000的无损压缩编解码速度,适合实时应用。
图像处理技术原理与应用介绍

图像处理技术原理与应用介绍第一章:图像处理技术概述图像处理技术是计算机视觉领域中的一个重要分支,通过数字化处理来改善或者增强图像的质量、提取有用的信息。
这些信息可以用于医学图像诊断、安防监控、自动驾驶等领域。
图像处理技术的原理是将图像数据转换为数字信号,并应用各种算法和方法进行处理。
第二章:图像获取与采集技术图像的获取与采集是图像处理的第一步,包括摄影、扫描、摄像、雷达等方式。
在数字相机中,光经过镜头进入感光元件,通过光电转换将光信号转换为电信号。
扫描技术通过移动的感光元件逐行采集图像,如CCD和CMOS传感器。
雷达技术利用电磁波回波来获得图像信息,适用于远程目标探测等场景。
第三章:图像预处理技术图像预处理是图像处理流程中的重要环节,旨在提取和增强图像中有用信息,去除噪声和不必要的细节。
常用的预处理技术包括灰度变换、图像平滑、图像增强和边缘检测等。
灰度变换在图像中引入了灰度级别的变化,用于增强图像对比度和亮度。
图像平滑通过低通滤波器来去除图像中的高频噪声。
图像增强技术则用于增强图像的细节和边缘。
边缘检测技术可以检测出图像中物体之间的边界。
第四章:图像分割与特征提取图像分割是指将图像划分为不同的区域或对象,常用的算法包括阈值分割、区域生长、边缘检测等。
阈值分割通过设定一个阈值,将图像中灰度值高于或低于该阈值的像素归为同一类。
区域生长是一种通过像素之间的相似性将相邻像素合并的方法。
边缘检测通过检测图像中的灰度级别变化来找到物体之间的边界。
特征提取是在图像分割的基础上,提取出图像中的有用属性,如纹理、形状、颜色等,用于后续的图像识别和分类。
第五章:图像压缩与编码图像压缩是通过减少图像中的冗余信息来减小图像的存储空间和传输带宽。
常见的图像压缩算法有无损压缩和有损压缩。
无损压缩通过对图像数据进行编码和解码来保证图像的完整性,如Huffman编码和LZW编码。
有损压缩则通过舍弃一部分信息来减小图像的大小,如JPEG和JPEG2000。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像编解码技术及应用1.图像编解码技术概论:在当前的图像压缩领域中常用的技术有:BMP、EPS、GIF、JPG、PDF、PIC、PNG、PSD、TIF。
上述技术间的差异主要存在于图像编解码的算法不同,通过对算法的研究可以使我们更加容易的理解图像压缩的原理。
位图格式(BMP)是在DOS时代就出现的一种元老级文件格式,因此它是DOS 和WINDOWS操作系统上的标准的WINGDOWS点阵图像格式,以此文件格式存储时,采用一种非破坏性的RLE压缩,不会省略任何图像的细部信息。
EPS是最常见的线条稿共享文件格式,它是以PostScript语言为开发基础,所以EPS文件能够同时兼容矢量和点阵图形,所有的排版或图像处理软件如PageMaker或Illustrator等,都提供了读入或置入EPS格式文件的能力,而且RGB和CMYK对象也可以保有各自的原始的色彩模式。
GIF应该是在网络上最常见的一种压缩文件格式,它的英文全名Graphic Interchange format,当初研发的目的是为了最小化电缆上的传输,因此能采用LZW方式进行压缩,但可显示的颜色范围只局限于256索引色,目前所采用的GIF 图形共有两种格式:87a和89a,常见于网页上建议的小动画制作,其中GIF89a 还可提供透明色效果,点阵图形,灰度图形或者索引颜色模式皆可存储为此种文件格式JPG跟GIF一样为网络上最常见道的图像格式,其英文正式名称为Joint Photographic Experts Group,它是以全彩模式进行显示色彩,是目前最有效率的一种压缩格式,常用于照片或连续色调的显示,而且没有GIF去掉图像细部信息的缺点,但需要注意的是此类图像需要自行设置压缩程度,在打开时JPG图像会自动解压缩,不过要注意的是JPG采用的压缩是破坏性的压缩,因此会在一定程度上减损图像本身的品质。
PDF是Adobe公司近几年权力推行的一种文件格式,它已Post Level2语言为其开发基础,同时可显示矢量及点阵的数码图形,同时还具有文件搜寻及网上预览的功能,即所谓电子化文件的观念,我们只要利用PageMaker或Illustrator 设计完成一个出版文件,并以PDF格式输出便可发送出去,不会有分色、装订和印刷的烦恼,而且可适用相当多的平台,如Macintosh、Windows、UNIX以及DOS。
PDF文件的浏览器为Acrobat Reader。
PIC是苹果(Macintosh)操作系统的标准文件格式,以QuickDraw显示语言为开发基础,是少数可以同时支持矢量和点阵的图像类型,利用Macintosh 色彩上的优势,PIC可以支持任何颜色深度,尺寸及分辨率,甚至可支持到32位的图像。
PNG是由GIF衍生出来的一种新的图像格式,似乎有取代GIF的趋势,同样适用于网页图像显示,同时采用非破坏性的压缩方式来缩减文件大小,在传输时亦可以渐次的方式将接收到的图像显示出来,不必苦等数据传输完毕后才能一窥全貌。
PSD是Photoshop中的标准文件格式,是Adobe公司为Photoshop量身定做的定制格式,也是唯一支持Photoshop所有功能的文件类型,包括图层、通道、路径等,在存储时会进行非破坏性压缩以减少存储空间,打开时速度也较其他格式快些,在作品未定稿前强烈建议以此种文件格式存储,以便日后修改。
TIF是由Aldus公司早期所研发的一种文件格式,至今仍然是图像文件的主流格式之一,同时横跨苹果(Macintosh)和个人电脑(PC)两大操作系统平台,可以说是跨平台操作的标准文件格式,而且也广泛支持图像打印的规格,如分色的处理功能,它所使用的是一种LZW的非破坏性压缩。
遗憾的是不支持矢量图形。
2.BMP、GIF、JPEG图像编解码详解:一、行程长度压缩原理是将一扫描行中的颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替。
例如:aaabccccccddeee,则可用3a1b6c2d3e来代替。
对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。
由RLE原理派生出许多具体行程压缩方法:1.PCX行程压缩方法: 该算法实际上是位映射格式到压缩格式的转换算法,该算法对于连续出现1次的字节Ch,若Ch>0xc0则压缩时在该字节前加上0xc1,否则直接输出Ch,对于连续出现N 次的字节Ch,则压缩成0xc0+N,Ch这两个字节,因而N最大只能为ff-c0=3fh(十进制为63),当N大于63时,则需分多次压缩。
2.BI_RLE8压缩方法:在WINDOWS的位图文件中采用了这种压缩方法。
该压缩方法编码也是以两个字节为基本单位。
其中第一个字节规定了用第二个字节指定的颜色重复次数。
如编码 0504表示从当前位置开始连续显示5个颜色值为04的像素。
当第二个字节为零时第二个字节有特殊含义:0表示行末;1表示图末;2转义后面2个字节,这两个字节分别表示下一像素相对于当前位置的水平位移和垂直位移。
这种压缩方法所能压缩的图像像素位数最大为8位(256色)图像。
3.BI_RLE压缩方法: 该方法也用于WINDOWS位图文件中,它与 BI_RLE8编码类似,唯一不同是:BI_RLE4的一个字节包含了两个像素的颜色,因此,它只能压缩的颜色数不超过16的图像。
因而这种压缩应用范围有限。
4.紧缩位压缩方法(Packbits):该方法是用于Apple公司的Macintosh机上的位图数据压缩方法, TIFF 规范中使用了这种方法,这种压缩方法与BI_RLE8压缩方法相似,如1c1c1c2132325648 压缩为:83 1c 21 81 32 56 48,显而易见,这种压缩方法最好情况是每连续128个字节相同,这128个字节可压缩为一个数值7f。
这种方法还是非常有效的。
二、霍夫曼编码压缩:也是一种常用的压缩方法。
是1952年为文本文件建立的,其基本原理是频繁使用的数据用较短的代码代替,很少使用的数据用较长的代码代替,每个数据的代码各不相同。
这些代码都是二进制码,且码的长度是可变的。
如: 有一个原始数据序列,ABACCDAA则编码为A(0),B(10),C(110),(D111),压缩后为010011011011100。
产生霍夫曼编码需要对原始数据扫描两遍,第一遍扫描要精确地统计出原始数据中的每个值出现的频率,第二遍是建立霍夫曼树并进行编码,由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢,但简单有效,因而得到广泛的应用。
三、LZW压缩方法LZW压缩技术比其它大多数压缩技术都复杂,压缩效率也较高。
其基本原理是把每一个第一次出现的字符串用一个数值来编码,在还原程序中再将这个数值还成原来的字符串,如用数值0x100代替字符串"abccddeee"这样每当出现该字符串时,都用0x100代替,起到了压缩的作用。
至于0x100与字符串的对应关系则是在压缩过程中动态生成的,而且这种对应关系是隐含在压缩数据中,随着解压缩的进行这张编码表会从压缩数据中逐步得到恢复,后面的压缩数据再根据前面数据产生的对应关系产生更多的对应关系。
直到压缩文件结束为止。
LZW 是可逆的,所有信息全部保留。
四、算术压缩方法算术压缩与霍夫曼编码压缩方法类似,只不过它比霍夫曼编码更加有效。
算术压缩适合于由相同的重复序列组成的文件,算术压缩接近压缩的理论极限。
这种方法,是将不同的序列映像到0到1之间的区域内,该区域表示成可变精度(位数 )的二进制小数,越不常见的数据要的精度越高(更多的位数),这种方法比较复杂,因而不太常用。
五、JPEG( 联合摄影专家组 Joint Photographic Exprerts Group)JPEG标准与其它的标准不同,它定义了不兼容的编码方法,在它最常用的模式中,它是带失真的,一个从JPEG文件恢复出来的图像与原始图像总是不同的,但有损压缩重建后的图像常常比原始图像的效果更好。
JPEG的另一个显著的特点是它的压缩比例相当高,原图像大小与压缩后的图像大小相比,比例可以从1%到80~90%不等。
这种方法效果也好,适合多媒体系统。
介绍完了压缩算法,我们来简要介绍一下三种位图格式的异同和它们之间的相互转换。
2.1 BMP:图象文件就是描绘了一幅图象的计算机磁盘文件。
形成数字图象数据后,将其存储在计算机里的方法有2种,即位映射和向量处理方式。
我们这里主要讨论的是位图。
不同图象软件几乎都用各种的方法处理图象,图象格式也多种多样,它主要包括文件识别头和图象数据。
文件识别头用来让计算机判断是哪种文件格式,图象数据包含了整个对图象描绘相关数据,包括调色板、位图映象等。
根据压缩算法不同,映象方式也不同,下面简要介绍一下压缩算法。
位图文件头:包含BMP图象文件的类型、显示内容等信息。
typedef struct tagBITMAPFILEHEADER {WORD bfType; // 位图文件的类型,必须为BMDWORD bfSize; // 位图文件的大小,以字节为单位WORD bfReserved1; // 位图文件保留字,必须为0WORD bfReserved2; // 位图文件保留字,必须为0DWORD bfOffBits; // 位图数据的起始位置,以相对于位图文件头的偏移量表示 } BITMAPFILEHEADER;0x0000H - 0x0001H 2 BYTES 文件标识基本上就是'BM'0x0002H - 0x0005H 4 BYTES 表示整个文件的大小字节顺序是否固定 little_Endian or big_Endian?0x0006H - 0x0009H 4 BYTES 保留必须设置为00x000AH - 0x000DH 4 BYTES 位图数据的偏移量从文件开始计算位图信息数据结构由BITMAPINFOHEADER和RGBQUAD两个数据结构组成接下来为位图信息头: typedef struct tagBITMAPINFOHEADER{DWORD biSize; // 本结构所占用字节数LONG biWidth; // 位图的宽度,以像素为单位LONG biHeight; // 位图的高度,以像素为单位WORD biPlanes; // 目标设备的级别,必须为1WORD biBitCount // 每个像素所需的位数,必须是1(双色),// 4(16色),8(256色)或24(真彩色)之一DWORD biCompression; // 位图压缩类型,必须是0(不压缩), // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORD biSizeImage; // 位图的大小,以字节为单位LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数DWORD biClrUsed; // 位图实际使用的颜色表中的颜色数DWORD biClrImportant; // 位图显示过程中重要的颜色数} BITMAPINFOHEADER;其中BITMAPINFOHEADER数据结构包含了有关BMP图象的宽、高、压缩方法等信息。