图像处理实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数字图像处理实验报告班级:学号:姓名:2实验一数字图像基本操作及灰度调整一、实验目的:掌握读、写图像的基本方法。掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。理解图像灰度变换处理在图像增强的作用。提高学生编程能力,巩固所学知识。二、实验内容和要求:1.熟悉MATLAB语言中对图像数据读取,显示等基本函数,用Matlab读取和显示一幅灰度图像。特别需要熟悉下列命令:imread()函数、imshow()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。2.绘制图像灰度直方图的方法,对图像进行均衡化处理。请自己编程和调用Matlab函数完成如下实验:1)显示读入图像及其灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。2)对读入图像进行直方图均衡化处理,试比较与原图像的异同。3.分段线性变换法,对图像进行灰度拉伸、对比度增强处理。对原始图像进行如图所示的分段线性变换处理,试比较与直方图均衡化处理的异同。图1.1分段线性变换函数三、实验步骤1.熟悉MATLAB语言中对图像数据读取,显示等基本函数。将MATLAB目录下的pears.png图像文件读出,显示并作出直方图。3I=imread('pears.png');B=rgb2gray(I);subplot(2,2,1);imshow(B);subplot(2,2,2);imhist(B);axistight图1.1灰度化后图像与直方图2.用imadjust函数将它的灰度值调整到[0,1]之间,对应源代码如下:I=imread('pears.png');B=rgb2gray(I);C=imadjust(B,[30/255;200/255],[01]);subplot(1,2,1);imshow(C);title(‘调整之后的图像’);subplot(1,2,2);imhist(C);title(‘调整图像之后的灰度直方图’);4图1.2调整灰度之后图像与直方图3.对原始图像进行如图所示的分段线性变换处理:I=imread('pears.png');B=rgb2gray(I);subplot(2,2,1);imshow(B);title('均衡化前图像')subplot(2,2,2);imhist(B);axistight;title('均衡化前的直方图')A=histeq(B);subplot(2,2,3);imshow(A);title('均衡化后图像')subplot(2,2,4);imhist(A);axistight;title('均衡化后的直方图')图1.3均衡化5I=imread('pears.png');B=rgb2gray(I);a=100;b=200;t=find(Ba);B(t)=B(t)*1.2;t=find(B=a&Bb);B(t)=(B(t)-a)*0.7+a;t=find(B=b&B256);B(t)=(B(t)-b)*2+b;subplot(1,2,1);imshow(B);title('拉伸后图像')subplot(1,2,2);imhist(B);axistight;title('拉伸后的直方图')图1.4四、思考1.直方图可以反映图像的那些特性?灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。直观地反映了图像像素在256个位置的深浅度,可以看出图像的对比度,以及图像的大部分像素点的分布范围,图像的明暗程度,图像的曝光度。62.试比较分段线性变换与直方图均衡化处理的异同。相同:都能够增强图像的对比度。不同:直方图均衡化:把原始图像的直方图变换成均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到了增强图像整体对比度的效果。分段线性变换:将原图像亮度值动态范围按线性关系(线性函数)变换到指定范围或整个动态范围,突出感兴趣的目标或灰度区域,相对抑制不感兴趣的灰度区域。五、实验心得与收获本次试验是本人初次接触MATLAB,其中面临了不少困难,通过查阅文档,百度搜索,以及询问同学才将其完成。特别是第三部分的,多半是通过百度查询,至今仍存在部分疑问。不是特别理解。不过在本次学习过程中,本人初步理解到了MATLAB的一些运行命令及内部信息,具体如下:matlab最基本的命令,imread()读取图像;imwrite()写入图像;iminfo()图像信息;imshow()显示图像等等;图片在计算机内部是以矩阵形式存储的,对图片的处理既是对表示图片的相关矩阵的处理,进而到对矩阵内部的数据进行处理。如何去查询rgb2gray等MATLAB自带的这些函数的使用及观察到使用不同函数对应的效果。均直方图衡化把原本分布不均的灰度直方图在整个灰度级别内均匀分布。增加图像的全局对比度,使得亮度可以更好地在直方图上分布。对图片进行线性变换可以增加其对比度,代码中可以用for循环控制,用线性函数对灰度调整。7实验二邻域平均法和中值滤波一、实验目的图像在传输过程中,经常会受到各种噪声的干扰,在进行进一步的边缘检测和图像分割、特征提取、模式识别等处理之前,采用适当的方法尽量减少噪声是一个非常重要的预处理步骤。利用Matlab为给定图像添加噪声,掌握用邻域平均法和中值滤波法去除数字图像中噪声的处理过程。二、实验内容对灰度图像加入椒盐噪声和高斯等噪声。掌握邻域平均法和中值滤波法的算法过程,借助于Matlab软件对添加不同种类和不同程度噪声的图像进行去噪处理,比较两种去除噪声算法的性能。1.给灰度图像分别加入椒盐噪声和高斯噪声并与前一张图显示在同一图像窗口中;2.分别对加入椒盐噪声和高斯噪声的图像采用邻域平均法和中值滤波法对有噪图像做处理,要求在同一窗口中显示结果。3.改变模板尺寸,试比较去噪效果的不同。四、实验步骤1.给灰度图像分别加入椒盐噪声和高斯噪声A=imread('peppers.png');B=rgb2gray(A);figure;subplot(131);imshow(B);title('原始图像');H=imnoise(B,'gaussian',0.02);subplot(132);imshow(H);title('高斯噪声');Q=imnoise(B,'salt&pepper',0.02);subplot(133);imshow(Q);title('椒盐噪声');8图2.1加入噪声2.分别对加入椒盐噪声和高斯噪声的图像采用邻域平均法和中值滤波法对有噪图像做处理M=fspecial('average',3);E=imfilter(H,M);F=imfilter(Q,M);figure;subplot(221);imshow(E);title('对高斯噪声均值滤波');subplot(222);imshow(F);title('对椒盐噪声均值滤波');G=medfilt2(H,[33]);H=medfilt2(Q,[33]);subplot(223);imshow(G);title('对高斯噪声中值滤波');subplot(224);imshow(H);title('对椒盐噪声中值滤波');9图2.2比较邻域平均和中值滤波的效果3.改变模板尺寸,试比较去噪效果的不同。A=imread('peppers.png');B=rgb2gray(A);figure;subplot(331);imshow(B);title('原始图像');H=imnoise(B,'gaussian',0.02);subplot(332);imshow(H);title('高斯噪声');Q=imnoise(B,'salt&pepper',0.02);subplot(333);imshow(Q);title('椒盐噪声');M1=fspecial('average',3);M2=fspecial('average',5);M3=fspecial('average',7);E1=imfilter(H,M1);10E2=imfilter(H,M2);E3=imfilter(H,M3);F1=imfilter(Q,M1);F2=imfilter(Q,M2);F3=imfilter(Q,M3);subplot(334);imshow(E1);title('高斯噪声3*3模板均值滤波');subplot(335);imshow(E2);title('高斯噪声5*5模板均值滤波');subplot(336);imshow(E3);title('高斯噪声7*7模板均值滤波');subplot(337);imshow(F1);title('椒盐噪声3*3模板均值滤波');subplot(338);imshow(F2);title('椒盐噪声5*5模板均值滤波');subplot(339);imshow(F3);title('椒盐噪声7*7模板均值滤波');图2.2模板改变对均值滤波的影响11五、实验思考1、比较邻域平均和中值滤波滤除高斯噪声和椒盐噪声的效果,分析其原因。邻域平均对滤除高斯噪声效果显著,中值滤波对滤除椒盐噪声效果好。高斯噪声是幅值近似正态分布,但分布在每点像素上。因为正态分布的均值为0,所以邻域平均滤波可以消除噪声。椒盐噪声是幅值近似相等但随机分布在不同位置上,图像中有干净点也有污染点。因为噪声的均值不为0,所以均值滤波不能很好地去除噪声点。但是中值滤波刚好可以滤去椒盐噪声这些极端值,所以效果较好。2、模板尺寸的选择对去噪效果的影响?模板尺寸选择的越大,相对应的对噪声的滤除效果越好,但是图像越模糊。实验三:图像的几何变换一、实验目的:(1)学习几种常见的图像几何变换,并通过实验体会几何变换的效果;(2)掌握图像平移、旋转、缩放、剪切等几何变换的算法原理及编程实现;(3)掌握matlab编程环境中基本的图像处理函数。三、实验内容和要求:1.将自选灰度图像向右下方平移;2.对自选灰度图像进行缩放,倍率分别为1.5和0.8。在缩放过程中对不能直接对应的位置应予以插值计算,分别采用最近邻插值、双线性插值法和三次线性插值法;3.将自选灰度图像分别顺时针旋转45度、逆时针旋转45度,插值方法使用三种不同方法,显示旋转后的图像并比较结果有什么不同。三、实验步骤1.将自选灰度图像向右下方平移:12I=imread('trees.tif');rows=size(I,1);cols=size(I,2);movx=50;movy=50;fori=1:rowsforj=1:colsQ(i+movx,j+movy)=I(i,j);endendfigure(1);imshow(I);title('原始图片');figure;imshow(Q);title('平移之后的图片');图3.1右下平移2.自选灰度图像进行缩放,倍率分别为1.5和0.8。I=imread('onion.png');figure;imshow(I);axison;title('原图');A=imresize(I,a,'nearest');B=imresize(I,a,'bilinear');C=imresize(I,a,'bicubic');figure;imshow(A);axison;title('最近邻插值');13figure;imshow(B);axison;title('双线性插值');figure;imshow(C);axison;title('双三次插值');图3.2放大1.5倍图3.3缩小至0.8倍143.将自选灰度图像分别顺时针旋转45度、逆时针旋转45度:I=imread('onion.png');figure;imshow(I);axison;title('原图');A=imrotate(I,a,'nearest');B=imrotate(I,a,'bilinear');C=im

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功