毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
彩色图像的边缘检测处理程序设计(8)
1.4.3 BMP图像
BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。
BMP图像文件的文件头定义
Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含 BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADER;另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADER。如果图像文件还需要调色板数据,则将其存放在文件头信息之后。BITMAPFILEHEADER数据结构在Windows.h中的定义为:
typedef struct tagBITMAPFILEHEADER //类型定义, bmp文件头
{ //5个变量
WORD bftype;DWORD bfsize:WORD bfReservedl;WORD bgReserved2:DWORD bfoffBits:
}BITMAPFILEHEADER;
其中,bftype在图像文件存储空间中的数据(首)地址为0,数据类型为unsignedchar,内容为固定值"BM",用于标志文件格式,表示该图像文件为BMP文件。bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0。bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像 数据在文件内的起始地址,即图像数据针对文件头的偏移量。
BITMAPINFOHEADER数据结构用于说明位图的大小,其定义为:
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize:DWORD biWldth;DWORD biHeight; WORD biPlanes:
WORD biBitCount:DWORD biCOmpression: DWORD biSiZelmage: DWORD biXPelsPerMeter:
DWORD biYPelsPerMeter:DWORD biClrUsed: DWORD biClrImportant;
}BITMAPINFOHEADER;
其中,biSize的数据地址为14,数据类型为unsignedlong,它以字节为单位指定数据结构BITMAPINFOHEADER所占用的存储容量,固定值为40。 biWidth与biHeight的数据地址分别为18和22,数据类型都是unsignedlong,它们分别以像素为单位,给出该BMP文件所描述位图的宽度与高度。若biHeight的取值为正数, 则表明位图为bottom—up类型的DIB位图,而且位图原点为左下角。若biHeight的取值为负数,则表明位图为top—down类型的DIB位图,而且位图原点为左上角。(一般位图定义中,这两个字段的取值必须为正数)biPlanes的数据地址为26,类型为unsignedint,它代表目标设备的平面数必须为1。biBitCount的数据地址为28,类型为utlsignedint,它确定每个像素所需要的位数。当图像为单色时,该字段的取值为1;当图像为16色时,该字段的取值为4;当图像为256 色时,该字段的取值为8;当图像为真彩色时,该字段的取值为24。biCompression的数据地址为30,类型为unsignedlong,它代表bottom—up类型位图的压缩类型(注意:top—down类型位图不能进行压缩处理),其可能取值及其含义分别为: 若该字段的取值为BI—RGB,则表示文件内的图像数据没有经过压缩处理;若该字段的 取值为BI—RLE8,则表示所压缩的图像数据是256色,采用的压缩方法是RLE8;若该 段的取值为BI—RLE4,则表示所压缩的图像数据是16色,采用的压缩方法是RLE4;若该字段的取值为BI—BITFIELDS,则表明图像文件内的数据没有经过压缩处理,而且颜色表由分别表示每个像素点的红、绿、蓝三原色的双字组成。(BMP文件格式在处理单色或者真彩色图像时,不论图像数据多么庞大,都不对图像数据进行任何压缩处理。)biSizelmage的数据地址为34,类型为unsignedlong,它以字节为单位,给出该BMP 内图像数据占用的空间大小。若图像文件描述BI—RGB位图,则该字段的值必须设置为0。biXPelsPerMeter字段与biYPelsPerMeter字段的数据地址分别为38与42,类型都是 unsignedlong,它们分别以每米像素数为单位,给出位图目的设备水平以及垂直方向的分辨率;其中,应用程序可以根据biXPelsPerMeter字段的值,从源位图组中选择与当前设备特点最匹配的位图。biCkUsed的数据地址为46,类型为unsignedlong,给出位图实际使用的颜色表中的颜色变址数。如果该字段的取值为0,则代表本位图使用了biBitCount字段值所代表的最大颜色值,其中biBitCount字段的取值与biCompression所指定的压缩方法相关。例如: 如果图像为16色,而该字段的取值为10,则代表本位图共使用了12种颜色;如果该字段的取值非零,而且biBitCount字段的取值小于16,则该字段指定图像或者设备驱动器存取的实际颜色数。若biBitCount字段的取值大于或者等于16,则该字段指定使Windows系统调色板达到最优性能的颜色表大小。biClrImportant的数据地址为50,数据类型为unsignedlong,它给出位图显示过程中重要颜色的变址数。若该字段的取值为0,则表示所有使用的颜色都是重要颜色。
共13页:
上一页
1
2
3
4
5
6
7
8
9
10
11
12
13
下一页
上一篇:
VB基于图像处理的烟火药燃烧粒子测速
下一篇:
上海婴幼儿产品市场分析及营销策略研究
基于Apriori算法的电影推荐
PHP+IOS的会议管理系统的设计+ER图
数据挖掘在电子商务中的应用
数据挖掘的主题标绘数据获取技术与实现
基于PageRank算法的网络数据分析
基于神经网络的验证码识别算法
基于网络的通用试题库系...
志愿者活动的调查问卷表
医院财务风险因素分析及管理措施【2367字】
10万元能开儿童乐园吗,我...
AT89C52单片机的超声波测距...
承德市事业单位档案管理...
中国学术生态细节考察《...
国内外图像分割技术研究现状
C#学校科研管理系统的设计
公寓空调设计任务书
神经外科重症监护病房患...