第五节 图像文件格式
一、 数字图像类型
静态图像可分为矢量图(Vector)图和位图(Bitmap)1.矢量图
用数学公式描述的图像,用一系列绘图指令表示图像;图像中每个形状都用一个完整的公式描述,称为一个对象。 优点: A. 文件数据量很小; B. 图像质量与分辨率无关; 无论图像放大或缩小多少倍,总是以显示设备允许的最大清晰度显示。计算机计算与显示图像时,往往能看到画图的过程。 缺点: A. 不易制作色调丰富或色彩变化太多的图像; B. 绘出来的图像不是很逼真; C. 不易在不同的软件间交换文件。2.位图
通过像素点表示图像,每个像素具有颜色属性和位置属性。 优点: A. 显示速度快; B. 真实世界的图像可以通过扫描仪、数码相机、摄像机等设备方便的转化为点位图 缺点: A. 存储和传输时数据量比较大; B. 缩放、旋转时算法复杂且容易失真 位图包括: 线画稿(LineArt) 灰度图像(GrayScale) 索引颜色图像(Index Color) 真颜色图像(True Color) 位图还可以分为: 1. 线画稿(Line Art) 只有黑白两种颜色。适合于由黑白两色构成而没有灰度阴影的图像。 B.灰度图像(GrayScale) 从技术上说,就是具有从黑到白的若干种灰度的单色图像。 若灰度图像像素的灰度级用8bit表示,则每个像素都是介于黑色和白色之间的256(2 8 =256)种灰度种的一种. 通常所说的黑白图片,其实包含了黑白之间的所有灰度色调。 C.真彩色图像(True Color)-24位图 自然界中几乎所有颜色都可以有红、绿、蓝(R、G、B)组合而成。 真彩色图像中,每一个像素由红、绿和蓝三个字节组成,每个字节为8bit,表示0到255之间的不同的亮度值。 256×256×256,能表示约1670万种颜色。 颜色深度为每个像素24位的数字图像是目前所能获取、浏览和保存的颜色信息最丰富的彩色图像,由于它所表达的颜色远远超出了人眼所能辨别的范围,故将其称为“真彩色”。 真彩色图并不是说一幅图包含了所有的颜色,而是说它具有所有颜色的能力,即最多可以包含所有的颜色。 D.索引颜色图像(Index Color) 索引颜色通常也称为映射颜色。在这种模式下,颜色是一组预先定义的、有限的颜色。 索引颜色的图像最多只能显示256中颜色。 索引颜色图像在图像文件里定义索引颜色。打开该文件时,构成该图像具有颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。二、图像文件格式
图像文件的格式,即图像文件的数据构成。 一般每种图像文件均有一个文件头,在文件头之后是图像数据。 文件头:一般包含文件类型、文件制作者、制作时间、版本号、文件大小等内容。内容由制作该图像文件的公司决定 图像数据:各种图像文件的制作还涉及到图像文件的压缩方式和存储效率等。 数字图像有多种存储格式,每种格式一般由不同的开发商支持。随着信息技术的发展和图像应用领域的不断拓宽,还会出现新的图像格式。 图像文件格式体系 1. 互联网用:GIF、JPG、PNG 2. 印刷用:TIF、JPG、TAG、PCX 3. 国际标准:TIF、JPG1.BMP图像文件格式
bmp文件大小大体上分成四个部分 位图文件头BITMAPFILEHEADER 位图信息头BITMAPINFONEADER 调色板PALETTE 实际的位图数据ImageDate(1)位图文件头
位图文件图是一个结构,其定义如下: 结构长度固定,为14个字节(WORD为无符号16位整数,DWORD为无符号32位整数)(2)位图信息头
位图信息头是一个结构,其定义如下: 结构长度为40个字节(LONG为32位整数)(3)调色板
实际上是一个数组,共有biClrUsed个元素。数组中每个元素的类型是是一个RGBQUAD结构,占4个字节。 真彩色图像不需要调色板,BITMAPINFOHEADER后直接是位图数据。(4)实际的位图数据
真彩色图像,图像数据就是实际的R、G、B值,三个字节表示1个像素。 对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值。 2色位图,用1位就可以表示该像素的颜色(一般0表示黑,1表示百=白),所以一个字节可以表示8个像素。 16色位图,用4位可以表示一个像素的颜色,所以一个字节可以表示2个像素。 256色位图,一个字节刚好可以表示1个像素。 下面两点需注意: (1) 每一行的字节数必须是4的整数倍,如果不是,则需要补齐。 (2) BMP文件的数据存放是 从下到上,从左到右 的。 从文件中最先读到的是图像最下面一行的左边第一个像素,然后是左边第二个像素,接下来是倒数第二行左边第一个像素,左边第二个像素。以此类推,最后得到的是最上面一行的最右边的一个像素。 位图举例1 200×200×3×8bit,每个像素需要用3个字节 120k字节 图像中最多只有16中颜色。用一个表:表中的每一行记录一种颜色RGB值。当表示一个像素的颜色时,只需要指出该颜色是在第几行,即该颜色在表中的索引值。 表占用的字节为3(RGB) ×8(bit) ×16(颜色)=48字节 16种颜色可以用4bit表示,一个像素要用半个字节。整个图像要用200×200×0.5,约20k字节,约为前面的1/6。 RGB表,即调色板。 位图举例2 反色(invert):就是形成底片效果。 反色的实际含义是将R、G、B值反转。 若颜色的量化级别是256,则新图的R、G、B值为255减去原图的R、G、B值。包括真彩图、带调色板的彩色图(伪彩色图)和灰度图。 真彩图:把反转后的R、G、B值写入新图即可。 带调色板彩色图:只需要将调色板中的颜色反转,形成新调色板,位图数据不动。 灰度图:直接反转。欢迎打赏,么么哒!
●R语言 ●句子●JAVA ●C语言以及算法笔记●大学生生活图鉴●JavaScript●计算机网络原理●计算机组成原理●操作系统●数据库系统概论●数据结构●英语●Linux●数字图像处理●云计算与人工智能●资源●明星电视剧社会现象娱乐 仙女都在看点点点,赞和在看都在这儿!