(整理)实验四:形态学.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四形态学操作与空间变换
一、实验目的
1.了解膨胀和腐蚀的Matlab实现方法
2.掌握图像膨胀、腐蚀、开启、闭合等形态学操作函数的使用方法
3.了解二进制图像的形态学应用
4.了解空间变换函数及图像匹配方法
二、实验内容
1.图像膨胀
A)对包含矩形对象的二进制图像进行膨胀操作。
BW=zeros(9,10);
BW(4:6,4:7)=1;
imshow(BW,'notruesize')
se=strel('square',3);
BW2=imdilate(BW,se);
figure,imshow(BW2,'notruesize')
B)改变上述结构元素类型(如:line, diamond, disk等),重新进行膨胀
操作。
Line: BW=zeros(9,10);
BW(4:6,4:7)=1;
imshow(BW,'notruesize')
se=strel('line',3,3);
BW2=imdilate(BW,se);
figure,imshow(BW2,'notruesize')
C)对图像‘text.png’进行上述操作,观察不同结构元素膨胀的效果。
BW3=imread('text.png ');
imshow(BW3)
se2=strel('line',11,90); %线型结构元素
BW4=imdilate(BW3,se2);
figure,imshow(BW4)
2.图像腐蚀
A)对图像‘circbw.tif’进行腐蚀操作。
BW1=imread('circbw.tif');
se=strel('arbitrary',eye(5));
BW2=imerode(BW1,se);
imshow(BW1)
figure,imshow(BW2)
B)对图像‘text.tif’进行腐蚀操作。
BW=imread('text.tif');
se=strel('line',11,90);
BW2=imerode(BW3,se);
imshow(BW)
figure,imshow(BW2)
3.膨胀与腐蚀的综合使用
A)从原始图像‘circbw.tif’中删除电流线,仅保留芯片对象。
方法一:先腐蚀(imerode),再膨胀(imdilate);
BW1=imread('circbw.tif');
imshow(BW1)
se=strel('rectangle',[40 30]); %选择适当大小的矩形结构元素BW2=imerode(BW1,se); %先腐蚀,删除较细的直线
figure,imshow(BW2)
BW3=imdilate(BW2,se); %再膨胀,恢复矩形的大小
figure,imshow(BW3)
方法二:使用形态开启函数(imopen)。
BW1=imread('circbw.tif');
imshow(BW1)
se=strel('rectangle',[30,20]);
BW2=imopen(BW1,se); %开启操作
figure,imshow(BW2)
B)改变结构元素的大小,重新进行开启操作,观察处理结果。se=strel(‘rectangle’,[20 10]);
se=strel(‘rectangle’,[50 40]);
C)置结构元素大小为[4 3],同时观察形态开启(imopen)与闭合(imclose)
的效果,总结形态开启与闭合在图像处理中的作用。
I=imread('circbw.tif');
imshow(I)
se=strel('rectangle',[4 3]);
I1=imopen(I,se); %开启操作
I2=imclose(I,se); %闭合操作
figure,imshow(I1)
figure,imshow(I2)
4.*高帽与低帽变换
A)读入图像‘pearlite.tif’,分别显示其高帽变换与低帽变换结果,并
与原图像比较。(设se=strel('disk',5);)。
I=imread('pearlite.tif');
subplot(221),imshow(I)
se=strel('disk',5);
J=imtophat(I,se);
subplot(222),imshow(J)
K=imbothat(I,se);
subplot(223),imshow(K)
L=imsubtract(imadd(J,I),K);
subplot(224),imshow(L)
B)要求显示在一个窗口中。
5.图像极值的处理方法
A)对于下图所示的图像矩阵A,利用函数imregionalmax寻找其局部极大
值
A=[10 10 10 10 10 10 10 10 10 10;
10 13 13 13 10 10 11 10 11 10;
10 13 13 13 10 10 10 11 10 10;
10 13 13 13 10 10 11 10 11 10;
10 10 10 10 10 10 10 10 10 10;
10 11 10 10 10 18 18 18 10 10;
10 10 10 11 10 18 18 18 10 10;
10 10 11 10 10 18 18 18 10 10;
10 11 10 11 10 10 10 10 10 10;
10 10 10 10 10 10 11 10 10 10];
B=imregionalmax(A)
B =