【2017年整理】实验四:形态学

上传人:爱****1 文档编号:952583 上传时间:2017-05-23 格式:DOC 页数:11 大小:610.50KB
返回 下载 相关 举报
【2017年整理】实验四:形态学_第1页
第1页 / 共11页
【2017年整理】实验四:形态学_第2页
第2页 / 共11页
【2017年整理】实验四:形态学_第3页
第3页 / 共11页
【2017年整理】实验四:形态学_第4页
第4页 / 共11页
【2017年整理】实验四:形态学_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《【2017年整理】实验四:形态学》由会员分享,可在线阅读,更多相关《【2017年整理】实验四:形态学(11页珍藏版)》请在金锄头文库上搜索。

1、实验四 形态学操作与空间变换一、实验目的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等),

2、重新进行膨胀操作。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进行腐蚀

3、操作。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(c

4、ircbw.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) 改变结构元素

5、的大小,重新进行开启操作,观察处理结果。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.

6、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,利用函数 imregiona

7、lmax寻找其局部极大值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 1

8、0 11 10 10 10;B=imregionalmax(A)B = 0 0 0 0 0 0 0 0 0 00 1 1 1 0 0 1 0 1 00 1 1 1 0 0 0 1 0 00 1 1 1 0 0 1 0 1 00 0 0 0 0 0 0 0 0 00 1 0 0 0 1 1 1 0 00 0 0 1 0 1 1 1 0 00 0 1 0 0 1 1 1 0 00 1 0 1 0 0 0 0 0 00 0 0 0 0 0 1 0 0 0B) 利用函数 imextendedmax寻找像素值大于其邻域像素值 2个单位的局部极大值。C=imextendedmax(A,2)C =0 0 0

9、 0 0 0 0 0 0 00 1 1 1 0 0 0 0 0 00 1 1 1 0 0 0 0 0 00 1 1 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 0 00 0 0 0 0 1 1 1 0 00 0 0 0 0 1 1 1 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 06. *创建一幅图像,求其距离矩阵。bw=zeros(5,5);bw(2,2)=1;bw(4,4)=1;D=bwdist(bw)center1=-10;center2=-center1;dist=sqrt(2*(2*center1

10、)2);radius=dist/2*1.4;lims=floor(center1-1.2*radius) ceil(center2+1.2*radius);x,y=meshgrid(lims(1):lims(2);bw1=sqrt(x-center1).2+(y-center2).2)=radius;bw2=sqrt(x-center2).2+(y-center2).2)=radius;bw1=sqrt(x-center1).2+(y-center1).2)=radius;bw=bw1|bw2;imshow(bw)D=bwdist(bw);figure,imshow(D, )D1=bwdist

11、(bw);figure,imshow(D1, )D =1.4142 1.0000 1.4142 2.2361 3.16231.0000 0 1.0000 2.0000 2.23611.4142 1.0000 1.4142 1.0000 1.41422.2361 2.0000 1.0000 0 1.00003.1623 2.2361 1.4142 1.0000 1.41427. *使用伪彩色显示标记矩阵。BW=0 0 0 0 0 0 0 0;0 1 1 0 0 1 1 1;0 1 1 0 0 0 1 1;0 1 1 0 0 0 0 0;0 0 0 1 1 0 0 0;0 0 0 1 1 0 0

12、0;0 0 0 1 1 0 0 0;0 0 0 0 0 0 0 0X=bwlabel(BW,4)RGB=label2rgb(X,jet,k);imshow(RGB,notruesize)8. 利用选择控制点实现图像匹配。Matlab图像匹配的步骤:将标准图像和待匹配图像读入 Matlab;指定图像中的控制点对并保存;使用互相关性进一步协调控制点对(可选) ;制定所需变换类型并根据控制点对推断变换参数;变换未匹配的图像。%读入待匹配图像和标准图像unregistered = imread(westconcordaerial.png);imshow(unregistered)orthophoto

13、= imread(westconcordorthophoto.png);figure,imshow(orthophoto)%选择图像中对应的控制点cpselect(unregistered(:,:,1),orthophoto)%保存控制点对input_pointsbase_points%使用相关性进一步协调控制点对input_points_corr=cpcorr(input_points,base_points,unregistered(:,:,1),orthophoto);input_points_corr %根据控制点对推断空间变换参数mytform=cp2tform(input_points,base_points,projective);%变换未匹配的图像registered=imtransform(unregistered,mytform);figure,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 实验/测试

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号