一 实验目的
1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。
二 实验内容
1. 利用imread()函数读取图像,利用inshow()函数显示图像;
2. 利用whos命令提取图像的基本信息,利用imfinfo命令获取图像的详细信息;
3. 利用imwrite()函数压缩另存图象; 4. 用im2bw将一幅灰度图像转化为二值图像。
三 实验要求
1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;
2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像;
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;
9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图
像的特征。
11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。
四 实验原理
图像可分为二值图像、亮度图像、索引图像、RGB图像等,二值图像只有黑白两种颜色,一个像素仅占1bit,0表示黑,1表示白。亮度图像的像素灰度级用8bit表示,每个像素都是介于黑色和白色之间的256种灰度中的一种。RGB图像中,每一个像素由红绿蓝三个字节组成,每个字节为8bit。
一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
五 实验器材
MATLAB、图像
六 实验步骤
1. 将要求文档中的图片存放到“C:\\Users\\Administrator\\Desktop\\数字图像处理第一次实验”位置下,所保存图片格式均为jpg,利用PS将“flower”文件转为tif格式;
2. 打开MATLAB,按要求完成每一步骤,运行脚本文件,将文件同样存在“C:\\Users\\Administrator\\Desktop\\数字图像处理第一次实验”位置下; 3. 记录实验结果。
七 实验源码
I=imread('flower.tif'); %读取flower.tif whos I; % 显示I的基本信息 imshow(I); %显示图像
imfinfo flower.tif %获取图像文件的详细信息
imwrite(I,'flower.jpg','quality',30); %获取一张压缩了像素的jpg文件
imwrite(I,'flower.bmp'); % 以BMP的格式存储图像 T=imread('Lenna.jpg'); %用imread()读入两幅图像 F=imread('camema.jpg');
imfinfo Lenna.jpg %获取两幅图像的大小 imfinfo camema.jpg
figure, imshow(T) %显示两幅图像 figure, imshow(F)
L=im2bw(T,0.6'); % 将图像转为二值图像 imshow(L) % 显示二值图像
八 实验结果
1.利用whos 命令提取该读入图像flower.tif的基本信息;
图8-1 第二点实验结果-图像的基本信息
由MATLAB运行结果可知,“flower.tif”图像的大小为296*296*3,图像大小为351648字节,图片数据类型为uint8.
2.利用imshow()函数来显示这幅图像;
图8-2 原图像 图8-3 MATLAB显示图像
以上两张图分别为原图像以及MATLAB显示图像,MATLAB显示图像四周有白色区域,图像部分无差别。
3.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
图8-4 图像详细信息(部分)
运行代码后,MATLAB中显示一系列图像的相关信息。
4.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;
图8-5 Lenna信息
由MATLAB运行结果可知,“Lenna.jpg”的图像大小FileSize为20652.图像的宽为300,图像的高为300。
图8-6 camema信息
由MATLAB运行结果可知,“camema.jpg”的图像大小FileSize为17946.图像的宽为256,图像的高为256。
5.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
图8-7原始图像 图8-8 MATLAB显示图像
图8-9原始图像 图8-10 MATLAB显示图像
6.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
图8-11原始图像 图8-12 MATLAB显示图像