一 图像的数据结构
图像数字结构是指图像像素灰度值的存储方式,常用方式是将图像各像素灰度值用一维或二维数
组相应的各元素加以存储。此外,其他方式:
1.组合方式
2.比特面方式
3.分层结构
4.树结构
5.多重图像数据存储
1.组合方式
方法:一个字长存放多个像素灰度值。
特点:节省内存,但计算量增加,处理程序复杂
2.比特面方式
将所有像素灰度的相同比特位用一个二维数组表示,形成比特面。 n 个比特位表示的灰度图像按
比特面方式存取,就得到 n 个比特面。
特点:能充分利用内存空间,便于进行比特面之
间的运算,但对灰度图像处理耗时多。
3.分层结构
锥形结构:对2 k × 2 k 个像素形成的图像,依次构成分辨率下降的 k+1 幅图像的层次集合。
方法:从原图像I 0 开始,依次产生行列像素数都变为 1/2 的一幅幅的图像 I1, I2 ,Ik 。此时,作为图像 Ii 的各像素的值,就是它前一个图像 Ii -1 的相应的 2 × 2像素的灰度的平均值。优点:先对低分辨率图像进行处理,然后根据需要对高分辨率图像进行处理,可提高效率。
4.树结构
对于如图所示的一幅二值图像的行、列接连不断地二等分,如果图像被分割部分中的全体像素都
变成具有相同的特征时,这一部分则不再分割。
用这种方法,可以把图像用树结构 (4 叉树 表示。这可以用在特征提取和信息压缩等方面。
5.多重图像数据存储
对于彩色图像或多波段图像而言,每个像素包含着多个波段的信息。
存储方式有三种:
(1 )逐波段存储
分波段处理时采用。
(2 )逐行存储
逐行扫描记录设备采用。
(3 )逐像素存储用于分类。
二 图像文件格式
按不同的方式进行组织或存储数字图像像素的灰度,就得到不同格式的图像文件。图像文件按其格式的不同具有相应的扩展名。常见的图像文件格式按扩展名分为: RAW 格式、 BMP 格式、 TGA 格式、 PCX 格式、 GIF 格式、 TIFF 格式等。这些图像格式都大致包含下列特征:
(1 )描述图像的高度、宽度以及各种物理特征的数据。
(2 )彩色定义
(3 )描述图像的位图数据体
下面只对BMP 格式作较详细介绍,其他格式只做简介。
1.RAW格式
它是将像素按行列号顺序存储在文件中。这种文件只含有图像像素数据,不含有信息头,因此,在读图像时,需要事先知道图像大小(矩阵大小)。它是最简单的一种图像文件格式。
2.BMP
格式由以下四个部分组成
1)14 字节的文件头;
2)40 字节的信息头;
3)8 字节的颜色定义;
4)位图数据。
1)位图文件头 BITMAPFILEHEADER
它的结构如下:
typedef
struct tagBITMAPFILEHEADER
WORD
bfType ; 指定文件类型,必须是 0x424D ,即字符串 BM” */
DWORD
bfSize ; 指定文件大小
WORD bfReserved1;
为 保留字
WORD bfReserved2; /*
保留字
DWORD
bfOffBits 为 文件头到实际的位图数据的偏移字节数 *
}BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER;
该结构的长度是固定的,为
14 个字节 。
2)位图信息头 BITMAPINFOHEADER
结构的长度为
40 个节 其结构如下:
typedef
struct tagBITMAPINFOHEADER
DWORD
bfSize ; /* 指定这个结构的大小,为 40 个字节
LONG
biWidth ; 指定图像的宽度,单位是像素
LONG
biHeight ; 指定图像的高度,单位是像素;
WORD
biPlanes ; 必须是 1
WORD
biBitCount ; 指定表示颜色位数, 1( 黑白 )8 256 色)、 24 (真彩色
DWORD
biCompression ; 指定是否压缩 分别为 BI_RGB 、 BI_RLE4 、 BI_RLE8
DWORD
biSizeImage ; 指定实际的位图数据占用的字节数。
LONG
biXPelsPerMeter ; 指定目标设备的水平分辨率
LONG
biYPersPerMeter ; 指定目标设备的垂直分辨率
DWORD
biClrUsed ; 指定本图像实际用到的颜色数
DWORD
biClrImportant ; 指定本图像中重要的颜色数
}BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER;
3)palette
(调色板调色板实际上是一个数组数组中每个元素的类型为一个
RGBQUAD 结构,占 4 个字节。结构定义如下:
typedef
struct tagRGBQUAD
BYTE
rgbBlue
BYTE
rgbGreen
BYTE
rgbRed
BYTE
rgbReserved
}RGBQUAD;
有些位图,比如真彩色图,没有调色板。他们的位图信息头
后直接是位图数据。
4)
位图数据
它分两种情况:对于用到调色板的位图,图像数据就是该像
素颜色在调色板中的索引值;对于真彩色图,图像数据就是实
际的 R 、 G 、 B 值。
a)位图是 1 4 8 位时,有调色板。
对于2 色位图,用 1 位就可以表示该像素的颜色,因此一个字节可以表示 8 个像素;对于16 色位图,用 4 位可以表示一个像素的颜色,所以 1 个字节可以表示 2 个像素;对于256 色位图,一个字节刚好表示一个像素;
b位图是 24 位(真彩色)时,无调色板。
对于真彩色图,3 个字节才能表示 1 个像素。
3.GIF
GIF图像是基于颜色列表的,最多支持 8 位。 GIF支持在一幅 GIF 文件中存放多幅彩色图像,并且可以按照一定的顺序和时间间隔将多幅图像依次读出并显示在屏幕上,这样就可以形成一种简单的动画效果。GIF一般有七个数据区组成:头文件、通用调色板、位图数据区以及四个扩充区。
4.TIFF文件
TIFF图像文件主要由三部分组成:文件头、标识信息区和图像数据区。