资源描述:
《实验一图像数据结构与图像文件格式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一图像数据结构与图像文件格式一、实验目的分析BMP图像文件格式,深化对图像数据结构和图像文件格式的理解。二、实验内容1、读取和显示BMP索引色图像2、读取和显示BMP真彩色图像3、基于二进制文件分析BMP图像文件结构三、实验步骤函数及符号说明:Imfinfo%获取一张图片的具体信息imread%读取图片文件中的数据/*对于索引色图像,使用[x,map]=imread(filename,fmt)形式读取,其中x为图像矩阵*/figure,imshow%显示图片1、读取和显示BMP索引色图像(包括二值图像、灰度图像、彩色图像)1.1二值图像(
2、逐行输入命令,下同)fileinfo1=imfinfo('cameraman-1.bmp','bmp');[img1,map1]=imread('cameraman-1.bmp','bmp');figure,imshow(img1,map1);结果图:1.2灰度图像%16色位图图像的操作fileinfo2=imfinfo('cameraman-4.bmp','bmp');[img2,map2]=imread('cameraman-4.bmp','bmp');figure,imshow(img2,map2);结果图:%256色位图图像的操作Fi
3、leinfo3=imfinfo('cameraman-8.bmp','bmp');[img3,map3]=imread('cameraman-8.bmp','bmp');figure,imshow(img3,map3);结果图:1.3基于索引色的彩色图像Fileinfo4=imfinfo('canoe-256.bmp','bmp');[img4,map4]=imread('canoe-256.bmp','bmp');figure,imshow(img4,map4);结果图2、读取和显示BMP真彩色图像Fileinfo5=imfinfo('pe
4、ppers.bmp','bmp');[img5,map5]=imread('peppers.bmp','bmp');figure,imshow(img5,map5);结果图:3、以二进制形式读取以上BMP文件,分析索引色和真彩色BMP图像文件的构成,尝试观察分析每一个组分分量数值以及数值间的联系。[fid1,mesage1]=fopen('cameraman-1.bmp','r');data1=fread(fid1);[fid2,mesage2]=fopen('cameraman-4.bmp','r');Data2=fread(fid2);[
5、fid3,mesage3]=fopen('cameraman-8.bmp','r');Data3=fread(fid3);[fid4,mesage4]=fopen('canoe-256.bmp','r');Data4=fread(fid4);[fid5,mesage5]=fopen('peppers.bmp','r');Data5=fread(fid5);结果图:四、BMP图像文件格式特征总结1:BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图像数据四部分组成。2:BMP文件头(14字节)BMP文件头数据结构含有BMP文件的类型、文
6、件大小和位图起始位置等信息。其结构定义如下:typedefstructtagBITMAPFILEHEADER{ WORDbfType;//位图文件的类型,必须为BM(1-2字节) DWORDbfSize;//位图文件的大小,以字节为单位(3-6字节) WORDbfReserved1;//位图文件保留字,必须为0(7-8字节) WORDbfReserved2;//位图文件保留字,必须为0(9-10字节) DWORDbfOffBits;//位图数据的起始位置,以相对于位图(11-14字节) //文件头的偏移量表
7、示,以字节为单位}BITMAPFILEHEADER;3:BMP信息头(40字节)typedefstructtagBITMAPINFOHEADER{ DWORDbiSize;//本结构所占用字节数(15-18字节) LONGbiWidth;//位图的宽度,以像素为单位(19-22字节) LONGbiHeight;//位图的高度,以像素为单位(23-26字节) WORDbiPlanes;//目标设备的级别,必须为1(27-28字节) WORDbiBitCount;//每个像素所需的位数,必须是1(双色),(29-30
8、字节) //4(16色),8(256色)16(高彩色)或24(真彩色)之一 DWORDbiCompression;//位图压缩类型,必须是0(不压缩),