院系:计算机科学学院专业:计算机科学与技术年级:2011级课程名称:数字图像处理组号:02姓名(学号):谢枫11061143石小飞11061148黄煜11061144柳卫平11061150李春豪11061147指导教师:徐胜舟2014年4月29日年级2011级班号5组号02学号专业计算机科学与技术姓名实验名称Matlab图像处理基础实验室9实验目的和要求一、实验目的:(1)熟悉Matlab开发环境;(2)掌握Matlab中数字图像的读取、显示、保存的基本方法的使用;(3)掌握不同类型的数字图像之间转换方法;(4)加深空间分辨率和灰度分辨率对图像显示效果的影响;(5)熟悉Matlab中的傅里叶变换;(6)基于Matlab的数字图像程序设计方法;二、实验内容:(1)在Matlab中运用imread函数读取一幅RGB图像(从实验素材中任意选择),查看该图像的大小、数据类型信息,并将该图像转换为灰度图像后以bmp格式保存。(2)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别对其进行2采样、4采样和8采样,将原图像及采样后的三幅结果图像按同一大小显示出来并比较空间分辨率对图像显示效果的影响。(3)运用imread函数读取一幅灰度图像(从实验素材中任意选择),分别以5,10,50为间隔对其灰度重新进行均匀量化,将原图像及重新量化后的三幅结果图像按同一大小显示出来并比较灰度分辨率对图像显示效果的影响。(4)读取一幅灰度图像,对其进行快速傅里叶变换,将原空域图像和变换后的频域图像显示在同一窗口中。三、实验要求:(1)针对具体实验内容要分别展示:指令(或m文件),输出结果,成因分析,经验总结。(2)所有生成的图像或m文件,必须命名,比如图n:描述图像信息;***.m文件:描述文件信息。(3)严禁抄袭,一旦发现雷同,所有涉及者均判实验报告不及格。实验原理(算法流程)实验(1):1.代码实现I=imread('peppers.png');%将图像peppers.png读入数组I中imshow(I);%显示图像Iimfinfo('peppers.png');%读取图像大小、数据类型信息ans%查看图像大小、数据类型信息I=rgb2gray(I);%将图像转换为灰度图像Iimwrite(I,'peppers.bmp');%将转换后的图像以文件名peppers.bmp保存2.运行结果1-1-1图查看Peppers.png图片的基本信息和显示图片过程1-1-2图将Peppers.png图片保存为peppers.bmp图片3.实验分析实验原理(算法流程)先用imread()函数将peppers.png存入I数组中,可见1-1-1图右上角的Workspace中的I。然后用imfinfo()函数和ans函数读取该图像的大小、类型等信息,具体在1-1-1图的CommandWindow中可见。至于图片格式的转换,就是用rgb2gray()函数将保存在I数组中的数据转换成灰度格式保存在原来的数组I中。最后将变换所得到的数据保存于peppers.bmp文件中。实验(2):1.代码实现I=imread('lena.bmp');%读取灰度图片subplot(221),imshow(I,[]),title('256*256,256')I=I(1:2:end,1:2:end);%图片采样subplot(222),imshow(I,[]),title('128*128,256')I=I(1:2:end,1:2:end);%图片采样subplot(223),imshow(I,[]),title('64*64,256')I=I(1:2:end,1:2:end);%图片采样subplot(224),imshow(I,[]),title('32*32,256')2.运行结果1-2图图片空间分辨率对图片的影响3.实验分析由1-2图可以看出,在保持灰度级数一定的条件下,随着图片空间分辨率的减半,即256*256,128*128,64*64,32*32的图像,图中的各个区域边缘处的棋盘模式越来越明显,并且全图的像素颗粒越来越粗。证明了空间分辨率是影响图片清晰度的因素之一。实验(3):1.代码实现I=imread('lena.bmp');%读取灰度图片subplot(221),imshow(I,256),title('256*256,256')%灰度级为256subplot(222),imshow(I,50),title('256*256,50')%灰度级为50实验原理(算法流程)subplot(223),imshow(I,10),title('256*256,10')%灰度级为10subplot(224),imshow(I,5),title('256*256,5')%灰度级为52.运行结果1-3图图片灰度级对图片的影响3.实验分析该实验是在空间分辨率一定的前提下,改变灰度级别来观察图片的变化情况。由1-3图可以看出,灰度级从256一次到50、10、5过程中,图中的各个区域边缘处的棋盘模式也越来越明显,并且全图的像素颗粒越来越粗。证明了灰度分辨率也是影响图片清晰度的因素之一。实验(4):1.代码实现A=imread('saturn.png');%读取真彩图B=rgb2gray(A);%将真彩图转换为灰度图subplot(121),imshow(B);%显示灰度图C=ffshift(fft2(B));%计算傅里叶变换并位移subplot(122),imshow(log(abs(C)),[]);%显示变换频谱实验原理(算法流程)2.运行结果1-4图图片的傅里叶变换效果3.实验分析由1-4图可以看出,傅里叶变换对灰度图片进行频谱转换,很好的刻画了图片的变换特征。代码中运用了fftshift()函数将变换后的图像频谱中心从矩阵的原点移动到了矩阵的中心。为了够清楚的观察到转换效果,最后用abs()函数对变换结果进行求模运算,避免不能显示的复数。因此得到了由图中的变换效果。年级2011级班号5组号02学号专业计算机科学与技术姓名实验名称Matlab图像图像增强实验室9实验目的和要求1.实验目的(1)掌握空域点处理图像增强方法;(2)掌握空域滤波图像增强方法;(3)掌握频域滤波图像增强方法;2.实验内容(1)读取一幅对比度不足的图像,对该图像进行直接灰度变换,包括图像求反、线性灰度变换、对数变化,并将原图像及变换后的图像进行对比。(2)读取一幅直方图不均匀的图像,对该图像进行直方图均衡处理,显示处理前后的图像以及它们的灰度直方图。(3)读取一幅灰度图像,对其添加均值为0,方差为0.02的高斯噪声,然后对添加噪声后的图像分别用3,9,18幅相同图像对其进行相加求平均结果,比较添加噪声图像与结果图像。(4)读取一幅灰度图像,对其添加均值为0,方差为0.01的高斯噪声,然后分别对其进行中值滤波、sobel算子滤波、Prewitt算子滤波,比较添加噪声图像与滤波后的结果图像。(5)读取一幅灰度图像,分别对其进行理想低通滤波和巴特沃斯高通滤波,显示滤波结果。3.报告撰写要求:(1)针对具体实验内容要分别展示:指令(或m文件),输出结果,成因分析,经验总结(2)所有生成的图像或m文件,必须命名,比如图n:描述图像信息;***.m文件:描述文件信息(3)严禁抄袭,一旦发现雷同,所有涉及者均判实验报告不及格实验原理(算法流程)实验(1):1.代码实现I=imread('kids.tif');subplot(221),imshow(I);I=double(I);I1=I;I2=I;I3=I;%图像求反I1=256-1-I1;I1=uint8(I1);subplot(222),imshow(I1);%线性灰度变换[M,N]=size(I2);fori=1:Mforj=1:NifI2(i,j)=30I2(i,j)=I2(i,j);elseifI2(i,j)=150I2(i,j)=(200-30)/(150-30)*(I2(i,j)-30)+30;elseI2(i,j)=(255-200)/(255-150)*(I2(i,j)-150)+200;endendendsubplot(223),imshow(uint8(I2));%对数灰度变换I3=41*log(1+I3);I3=uint8(I3);subplot(224),imshow(I3);实验原理(算法流程)2.运行结果2-1图图像求反、线性灰度变换、对数变换效果对比3.实验分析上图中的四幅图片从左到右,从上到下分别是原图、图像求反效果图、图像线性灰度变换效果图、图像对数变换效果图。从上图可看出,原图像与求反图像之间存在很大差异,而求反的操作就是I=256-1-I这条语句实现的,图像可以说是由黑变白。线性灰度变换图像的效果和原图最接近,其主要是将图像灰度级拉伸,增强对比度,将不需要的细节灰度级压缩,所以线性变换图像看起来比原图相对清楚、明亮。而对数是对原图像进行动态范围的的压缩,因此图片的细节可见程度相对明显。实验(2):1.代码实现I=imread('mandi.tif');subplot(221),imshow(I),title('原图和其直方图');subplot(222),imhist(I);%显示图像直方图I1=histeq(I);%对图像进行直方图均衡化处理subplot(223),imshow(I1),title('直方图均衡化后的图和其直方图');subplot(224),imhist(I1);%显示直方图均衡化后的图和其直方图实验原理(算法流程)2.运行结果2-2图图片直方图均衡处理效果图和直方图3.实验分析由2-2图的直方图均衡处理效果图及其直方图的比较我们可以很容易发现。原图的直方图的灰度值相对集中靠左,所以看原图的效果显得相对较暗,而且动态范围偏小,对比度很低。通过直方图均衡化后的,图像的直方图显示相对平均,而且动态范围也变大了。其主要思想就是通过把原来不均衡的直方图变换为均衡的分布形式,来增强灰度的动态范围,从而达到增强图像整体对比度的效果。实验(3):1.代码实现f=imread('onion.png');f=rgb2gray(f);%把彩色图像转换为灰度图像[M,N]=size(f);ff1=zeros(M,N);fori=1:18ff(:,:,i)=imnoise(f,'gaussian',0,0.02);%添加噪声实验原理(算法流程)ff1=ff1+double(ff(:,:,i));ifor(or(i==1,i==3),or(i==9,i==18));figure;imshow(uint8(ff1/i));endend2.运行结果2-3图图像相加求平均去噪效果图3.实验分析该实验目的主要是验证通过图像加法求平均能否达到减少噪声,即图像增强功能。上图分别先通过随机高斯噪声处理后,再分别进行1,3,9,18的图像相加求平均,最后得到上图结果。上图,从左至右,从上至下,分别为1,3,9,18求平均。通过图像处理后效果的比较,我们可以得出,相加并求平均的图像数越多,图像去噪增强的效果越明显。实验(4):1.代码实现I=imread('eight.tif');subplot(231),imshow(I);title('原图');J=imnoise(I,'gaussian',0,0.01);subplot(232),imshow(J);title('随机噪声图像');实验原理(算法流程)subplot(232),imshow(J);title('随机噪声图像');K=medfilt2(I,[9,9]);%进行9X9模板中值滤波subplot(233),imshow(K);title('9X9模板中值滤波图');S=fspecial('sobel');%应用sobel算子锐化图像I2=filter2(S,I);%sobel算子滤波锐化subplot(234),imshow(I2);title('sobel算子锐化图像