实验三 数字图像处理之 形态学

  • 格式:docx
  • 大小:73.65 KB
  • 文档页数:6

西安邮电学院

实 验 报 告

实验名称 形态学图像处理

课程名称 数字图像处理A

姓名 成绩

班级 学号

日期 2011.5.31 地点

3#531

备注:基于matlab实现形态学图像处理:

1. 对两幅图像进行腐蚀、膨胀处理,显示处理前、后图像;

2. 对两幅图像设计相应的开、闭运算进行降低噪声的处理,显示处理前、后图像。

实验三 形态学图像处理

1. 实验任务

(1)了解并掌握膨胀、腐蚀及开运算、闭运算的基本原理;

(2)编写程序使用开运算、闭运算处理图像,进一步理解开运算、闭运算的实质;

(3)编写程序使用开运算、闭运算进行图像去噪处理,根据实验结果分析效果;

(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2. 实验环境

Windws2000/XP

MATLAB 7.x

3.实验方法

对两幅受噪声干扰的数字图像curve_128.bmp(如图3.1所示)和enoise.bmp(如图3.2所示)进行如下处理:

(1)对两幅图像进行腐蚀、膨胀处理,显示处理前、后图像:

用不同尺度及形状的结构元素进行腐蚀、膨胀处理,分析结构元素对处理效果的影响;

(2)分别对两幅图像设计相应的开、闭运算进行降低噪声的处理,显示处理前、后图像;

分析两幅图像为了降低噪声所设计的运算有无不同?如果有请分析为什么会有这种不同?

具体实现:在MATLAB 7.x中按要求编写附件中程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉并掌握程序中所使用函数的调用方法,改变有关参数,观察并分析试验结果。

4.实验分析 图3.1 实验图像curve_128.bmp 图3.2 实验图像enoise.bmp 在MatLab中输入各程序代码后运行程序,得到输出结果如图所示:

1-1

1-2

2-1 原图像加噪声图像线形性腐蚀图线形膨胀图圆形腐蚀图圆形膨胀图原图像加噪声图像线形腐蚀图线形膨胀图方形腐蚀图方形膨胀图

2-2

5.实验结论

通过实验理解腐蚀膨胀的用途,腐蚀可以将邻近的不同的目标分离开来,可以将小颗粒的噪声去除;膨胀能够有效地填充物体内部细小的空洞,连接断裂的目标,以便于整体提取,同时能在不明显改变物体面积的情况下平滑物体的边界;但是腐蚀膨胀运算会改变原目标物的大小,所以使用开闭运算解决这个缺点,

开运算即是将原图先腐蚀再膨胀,它可以在分离粘连目标物的同时基本保持元目标物的大小;闭运算即是将原图先膨胀再腐蚀,它可以在合并断裂目标物的同时原图像加噪后图像线形闭运算后图像线形开运算后图像圆形闭运算后的图像圆形开运算后图像原图像加噪后图像腐蚀操作膨胀操作腐蚀操作膨胀操作基本保持原目标物的大小。

通过以上算法将预处理的图像进行处理基本达到理想的要求。

附件

程序

1-1

I = imread('dragon.bmp');

subplot(231),imshow(I),title('原图像');

I0=imnoise(I,'salt');

subplot(234),imshow(I0),title('加噪声图像');

se = strel('line',5,2);

I1 = imerode(I0,se);

subplot(232),imshow(I1), title('线形性腐蚀图');

I2 = imdilate(I0,se);

subplot(233), imshow(I2),title('线形膨胀图');

se1 = strel('disk',1);

I3 = imerode(I0,se1);

subplot(235),imshow(I3), title('圆形腐蚀图');

I4 = imdilate(I0,se1);

subplot(236), imshow(I4),title('圆形膨胀图');

1-2

I = imread('Equation.bmp');

subplot(231),imshow(I),title('原图像');

I0=imnoise(I,'salt & pepper',0.02')

subplot(234),imshow(I0),title('加噪声图像');

se = strel('line',3,2);

I1 = imerode(I0,se)

subplot(232),imshow(I1), title('线形腐蚀图');

I2 = imdilate(I0,se)

subplot(233), imshow(I2),title('线形膨胀图');

se1 = strel('square',2);

I3 = imerode(I0,se1)

subplot(235),imshow(I3), title('方形腐蚀图');

I4 = imdilate(I0,se1)

subplot(236), imshow(I4),title('方形膨胀图');

2-1

I=imread('dragon.bmp');

subplot(231);imshow(I);title('原图像');

I0=imnoise(I,'salt & pepper',0.02);

subplot(234);imshow(I0);title('加噪后图像');

se = strel('line',3,2);

I1 = imclose(I0,se);

subplot(232);imshow(I1);title('线形闭运算后图像'); I2=imopen(I1,se);

subplot(233);imshow(I2);title('线形开运算后图像');

se1=strel('disk',1);

I3=imclose(I0,se1);

subplot(235);imshow(I3);title('圆形闭运算后的图像');

I4=imopen(I3,se1);

subplot(236);imshow(I4);title('圆形开运算后图像');

2-2

I=imread('Equation.bmp');

subplot(231);imshow(I);title('原图像');

I0=imnoise(I,'salt & pepper',0.02);

subplot(234);imshow(I0);title('加噪后图像');

s=strel('line',3,2);

I1=imerode(I0,s);

subplot(232);imshow(I1);title('腐蚀操作');

I2=imdilate(I1,s);

subplot(233);imshow(I2);title('膨胀操作');

I3=imdilate(I2,s);

subplot(235);imshow(I3);title('腐蚀操作');

I4=imerode(I3,s);

subplot(236);imshow(I4);title('膨胀操作');