数字图像处理实验十
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理
实验
实验十:形态学运算
学院:信息工程学院
姓名:
学号:
专业及班级:
指导教师:
一、实验目的
学习常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。
二、实验内容
利用MatLab工具箱中关于数学形态学运算的函数,计算本指导书中指定二值图像进行处理。
下面是使用数学形态学运算的函数对图像进行处理的MATLAB程序:
I=imread('Plane2.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.调入并显示图像Plane
2.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('1.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. 腐蚀、膨胀、开、闭运算的适用条件是什么?
由于噪声的影响,图象在阈值化后所得到边界往往是很不平滑的,物体区域具有一些噪声孔,背景区域上散布着一些小的噪声物体。
连续的开和闭运算可以有效地改善这种情况。
有时需要经过多次腐蚀之后再加上相同次数的膨胀,才可以产生比较好的效果。
五、实验小结。