数字图像处理实验报告材料(完整版) 联系客服

发布时间 : 星期三 文章数字图像处理实验报告材料(完整版)更新完毕开始阅读9cbf61bf2e60ddccda38376baf1ffc4fff47e2db

实用标准文档

通过实验可以看出,中值滤波对椒盐噪声的消噪处理效果比较好,但是对高斯噪声的消噪处理效果不是很理想

(3) 结合实验内容,定性评价滤波窗口对去噪效果的影响?

对比实验结果可以发现:发现对于椒盐噪声,中值滤波效果更好。对于高斯噪声,选用5*5窗口滤波效果好于3*3窗口滤波,但图像模糊程度加重了。

实验四 图像分割

一、实验内容与步骤

(1)使用Roberts 算子的图像分割实验

", 调入并显示图像room.tif中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板:

", 相应的矩阵为:rh = [0 1;-1 0]; rv = [1 0;0 -1];这里的rh 为水平Roberts 算子,rv为垂直Roberts 算子。分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;

(2)使用Prewitt 算子的图像分割实验

", 使用Prewitt 算子进行内容(1)中的全部步骤。 (3)使用Sobel 算子的图像分割实验

使用Sobel 算子进行内容(1)中的全部步骤。 (4)使用LoG (拉普拉斯-高斯)算子的图像分割实验

使用LoG (拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG (拉普拉斯-高斯)算子的参数,观察处理结果。

二、实验结果与源程序

实验结果如下图:

文案大全

实用标准文档

源程序>>f=imread('cameraman.tif'); [gv,t1]=edge(f,'sobel','vertical'); imshow(gv)

[gb,t2]=edge(f,'sobel','horizontal'); figure,imshow(gb)

w45=[-2 -1 0;-1 0 1;0 1 2];

g45=imfilter(double(f),w45,'replicate'); T=0.3*max(abs(g45(:))); g45=g45>=T;

figure,imshow(g45);

三、思考题/问答题

1、评价一下Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。

Roberts 算子边缘定位精度较高,但易丢失一部分边缘,同时由于没经过图像平滑计算,因此不能抑制噪声。该算子对具有陡峭的低噪声图像响应最好。

Sobel算子很容易在空间上实现,对噪声具有平滑作用,受噪声影响较小,可提供较为精确的边缘方向信息,但同时也会检测出许多伪边缘,检测到的边缘宽度较粗,边缘位置定位精度不高。

Prewitt 算子与Sobel 算子使用方法一样,都是对图像进行差分和滤波运算,差别只在于使用的模板不一

样,Prewitt 算子比Sobel 算子运算略微简单。

2、为什么LoG梯度检测算子的处理结果不需要象Prewitt 等算子那样进行幅度组合? LOG 算子是根据图像的信噪比来求出检测边缘的最优滤波器。该方法首先采用高斯函数对图像进行低通平滑滤波,然后采用Laplacia 算子进行高通滤波,根据二阶导数的过零点来检测图像的边缘。因而不需要象Prewitt 等算子那样进行幅度组合。 3、实验中所使用的四种算子所得到的边界有什么异同?

Roberts 算子检测出的图像轮廓边缘很细,连续性较差,边缘信息有一定丢失,出现的噪点比较多。

文案大全

实用标准文档

Sobel 和Prewitt 两个算子检测出的边缘效果几乎一致,比Roberts 算子的检测结果要好,边缘较为连续,对噪声不敏感,但是线条稍粗,出现了一些伪边缘。

二阶LOG 算子检测出来的图像边缘更加连续,边缘也比较细小。但是由于二阶算子的特性,对噪声比较敏感。当σ的值越小,平滑的程度就越小,于是会出现零星的假边缘;而σ的值越大,平滑的程度也越大,但是部分真实的边缘会丢失,出现边缘间断现象

实验五 形态学运算

一、实验内容与步骤

1. 调入并显示图像Plane2.jpg;

2. 选取合适的阈值,得到二值化图像Plane2-2.jpg; 3. 设置结构元素;

4. 对得到的二值图像Plane2-2.jpg进行腐蚀运算; 5. 对得到的二值图像Plane2-2.jpg进行膨胀运算; 6. 对得到的二值图像Plane2-2.jpg进行开运算; 7. 对得到的二值图像Plane2-2.jpg进行闭运算; 8. 将两种处理方法的结果作比较;

二、实验结果与源程序

实验结果如下图:

源程序

I=imread('Sunset.jpg');

level = graythresh(I); %得到合适的阈值 bw = im2bw(I,level); %二值化

文案大全

实用标准文档

SE = strel('square',3); %设置膨胀结构元素 BW1 = imdilate(bw,SE); %膨胀 SE1 = strel('arbitrary',eye(5)); %设置腐蚀结构元素 BW2 = imerode(bw,SE1); %腐蚀 BW3 = bwmorph(bw, 'open'); %开运算 BW4 = bwmorph(bw, 'close'); %闭运算 imshow(I);

figure,imshow(bw); figure,imshow(BW1); figure,imshow(BW2); figure,imshow(BW3); figure,imshow(BW4);

三、思考题/问答题

1. 结合实验内容,评价腐蚀运算与膨胀运算的效果。

腐蚀是一种消除边界点,它使边界向内部收缩,消除小且无意义的物体。膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。

2. 结合实验内容,评价开运算与闭运算的效果。

先腐蚀后膨胀的过程称为开运算。实验中,开运算能够去除孤立的小点,毛刺和小桥(即连通两块区域的小点),而总的位置和形状不变。

先膨胀后腐蚀称为闭运算。实验中,闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。

3. 腐蚀、膨胀、开、闭运算的适用条件是什么?

由于噪声的影响,图象在阈值化后所得到边界往往是很不平滑的,物体区域具有一些噪声孔,背景区域上散布着一些小的噪声物体。连续的开和闭运算可以有效地改善这种情况。有时需要经过多次腐蚀之后再加上相同次数的膨胀,才可以产生比较好的效果。

文案大全