bmp文件读写操作

发布时间:2010-05-27 17:10:18   来源:文档文库   
字号:

实验一 BMP文件的读写操作

一、实验目的与要求

1.熟悉及掌握在MATLAB中能够处理哪些位图文件。

2.熟练掌握在MATLAB中如何读取位图文件。

3.掌握如何利用MATLAB来获取位图文件的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅位图文件的方法。

5.图像间如何转化。

二、实验原理及知识点

1.位图文件的分类及结构

位图是通过许多像素点表示一幅图像,每个像素具有颜色属性和位置属性。位图可以分成如下四种: 线画稿 、灰度图像、索引颜色图像和真彩色图像。

位图文件(Bitmap-FileBMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependent bitmapDDB)文件格式。Windows 3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(device-independent bitmapDIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者bmp。由四部分组成,其结构如图1所示。

1 BMP文件结构图

2. MATLAB

MATLAB是由美国MathWorks公司推出的用于数值计算的有力工具, 它具有相当强大的矩阵运算和操作功能,一幅数字图像在MATLAB中可以很自然的表示成矩阵,如图2一幅M×N个像素的数字图像,其像素灰度值可以用M行、N列的矩阵G表示:

2数字图像的矩的表示

并且MATLAB图像处理工具箱IPT提供了丰富的图像处理函数,这些函数处理的是多维数组,而图像(二维数值数组)正是多维数组的一种特例。灵活运用这些函数几乎可以完成所有的图像处理工作,从而大大节省编写低层算法代码的时间, 避免程序设计中的重复劳动,达到事半功倍的效果。

因此我们利用MATLAB进行数字图像处理是科学而且合理的。

三、实验内容及步骤

1.利用imread( )函数读取一幅bmp图像,假设其名为1.bmp,存入一个数组中;

2.利用whos 命令提取该读入图像1.bmp的基本信息;

3.利用imshow()函数来显示一幅图像;

4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;

5.根据步骤4得到的相关信息,利用imwrite()函数来压缩一幅图象,将其保存为一幅压缩了像素的bmp文件,设为2.bmp;

6.同样利用imwrite()函数将最初读入的bmp图象另存为一幅jpg图像,设为3.jpg

格式一 imwrite(f,’filename’)

格式二:imwrite(f,’filename.jpg’,’quality’,q)

Quality不变 Q是介于0—100之间的整数,Q越小图像越差

格式三

imwrite(f,’filename’,Param1,Val1,Param2,Val2...)

其中的filename可以是HDF,JPEG, PBM, PGM, PNG, PPM, and TIFF 文件,后面的参数是具体的存储指标根据数据类型所有不同,可以参考帮助文档中的此格式下的Format-Specific Parameters详细说明

7imread()分别读入两幅图像2.bmp3.jpg

8size()分别获取两幅图像2.bmp3.jpg的大小

9.用figure,imshow()分别将2.bmp3.jpg显示出来,观察两幅图像的质量。

10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。

11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3910步得到的图像效果拷贝下来。

四、考核要点

1熟悉在MATLAB中如何读入图像、如何获取图像文件的相关信息、如何显示图像及保存图像等,熟悉相关的处理函数。

2明确不同的图像文件格式,由于其具体的图像存储方式不同,所以文件的大小不同,因此当对同一幅图像来说,有相同的文件大小时,质量不同。

本文来源:https://www.2haoxitong.net/k/doc/14af3f791711cc7931b716bc.html

《bmp文件读写操作.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式