数字图像处理实验6 形态学图像处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 形态学图像处理
一.实验目的:
1.掌握形态学图像处理的基本算法:膨胀、腐蚀。
2.掌握MATLAB函数中用于构建结构元的标准函数。
3.掌握开运算、闭运算。
二.实验内容:
1.利用MATLAB标准函数构建结构元。
2.运用MATLAB标准函数进行膨胀、腐蚀运算,以及开运算、闭运算
三.实验原理:
1.构建结构元
MATLAB标准函数strel运用各种形状和大小构造结构元素,其基本语法为:se = strel(shape, parameters)
其中,shape是指定的希望形状的字符串,而parameters是指定形状信息(如其大小)的一系列参数。
语句形式描述
se = strel(‘diamond’, R) 创建一个菱形结构元,其中R是从结构原点到菱形最远点
的距离
se = strel(‘disk’, R) 创建一个圆盘形结构元,其半径为R
se = strel(‘square’, R) 创建一个方形结构元,其边长为R
例:>> se = strel(‘diamond’, 5) //返回一个沿水平和垂直轴扩展5个像素的菱形结构元
2.膨胀、腐蚀运算,开运算、闭运算
膨胀:MATLAB标准函数imdilate(f, se),f是输入的二值图像,se是用于膨胀的结构元,函数的输出即为膨胀后的二值图像。
腐蚀:MATLAB标准函数imerode(f, se),f是输入的二值图像,se是用于腐蚀的结构元,函数的输出即为腐蚀后的二值图像。
开运算(先腐蚀再膨胀):MATLAB标准函数imopen(f, se),f是输入的二值图像,se是结构元,函数的输出即为开运算后的二值图像。
闭运算(先膨胀再腐蚀):MATLAB标准函数imclose(f, se),f是输入的二值图像,se是结构元,函数的输出即为闭运算后的二值图像。
例:
>>f = imread('E:\医学图像处理实验讲义\实验六\mask.bmp')
>>se = strel('diamond', 5)
>> fd = imdilate(f, se) //膨胀运算
>>imshow(f)
>>figure, imshow(fd)
>>se = strel('diamond', 25)
>>fd = imdilate(f, se)
>>figure, imshow(fd)
四.实验报告:
1.创建一个parameters = 1的菱形结构元,在报告中画出该结构元的形状及元素值,并用该结构元对图像text.bmp进行膨胀运算。
2.分别创建parameters = 5、parameters = 10、parameters = 20的三个圆形结构元,并用这三个结构元分别对图像wirebond.bmp进行腐蚀运算。
3.创建一个parameters = 20的方形结构元,用该结构元对图像shapes.bmp分别进行开运算、闭运算,比较两者输出图像的不同之处。
4.创建一个parameters = 3的方形结构元,用该结构元对图像fingerprint.bmp 进行依次进行开运算、闭运算,观察最后的输出图像是否很好地去除了噪声。