实验四形态学.docx

上传人:b****5 文档编号:14464933 上传时间:2023-06-23 格式:DOCX 页数:17 大小:558.47KB
下载 相关 举报
实验四形态学.docx_第1页
第1页 / 共17页
实验四形态学.docx_第2页
第2页 / 共17页
实验四形态学.docx_第3页
第3页 / 共17页
实验四形态学.docx_第4页
第4页 / 共17页
实验四形态学.docx_第5页
第5页 / 共17页
实验四形态学.docx_第6页
第6页 / 共17页
实验四形态学.docx_第7页
第7页 / 共17页
实验四形态学.docx_第8页
第8页 / 共17页
实验四形态学.docx_第9页
第9页 / 共17页
实验四形态学.docx_第10页
第10页 / 共17页
实验四形态学.docx_第11页
第11页 / 共17页
实验四形态学.docx_第12页
第12页 / 共17页
实验四形态学.docx_第13页
第13页 / 共17页
实验四形态学.docx_第14页
第14页 / 共17页
实验四形态学.docx_第15页
第15页 / 共17页
实验四形态学.docx_第16页
第16页 / 共17页
实验四形态学.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验四形态学.docx

《实验四形态学.docx》由会员分享,可在线阅读,更多相关《实验四形态学.docx(17页珍藏版)》请在冰点文库上搜索。

实验四形态学.docx

实验四形态学

实验四形态学操作与空间变换

一、实验目的

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',[4030]);%选择适当大小的矩形结构元素

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’,[2010]);

se=strel(‘rectangle’,[5040]);

C)置结构元素大小为[43],同时观察形态开启(imopen)与闭合(imclose)的效果,总结形态开启与闭合在图像处理中的作用。

I=imread('circbw.tif');

imshow(I)

se=strel('rectangle',[43]);

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=[10101010101010101010;

10131313101011101110;

10131313101010111010;

10131313101011101110;

10101010101010101010;

10111010101818181010;

10101011101818181010;

10101110101818181010;

10111011101010101010;

10101010101011101010];

B=imregionalmax(A)

B=

0000000000

0111001010

0111000100

0111001010

0000000000

0100011100

0001011100

0010011100

0101000000

0000001000

B)利用函数imextendedmax寻找像素值大于其邻域像素值2个单位的局部极大值。

C=imextendedmax(A,2)

C=

0000000000

0111000000

0111000000

0111000000

0000000000

0000011100

0000011100

0000011100

0000000000

0000000000

6.*创建一幅图像,求其距离矩阵。

bw=zeros(5,5);

bw(2,2)=1;bw(4,4)=1;

D=bwdist(bw)

center1=-10;

center2=-center1;

dist=sqrt(2*(2*center1)^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(~bw);

figure,imshow(D1,[])

D=

1.41421.00001.41422.23613.1623

1.000001.00002.00002.2361

1.41421.00001.41421.00001.4142

2.23612.00001.000001.0000

3.16232.23611.41421.00001.4142

7.*使用伪彩色显示标记矩阵。

BW=[00000000;

01100111;

01100011;

01100000;

00011000;

00011000;

00011000;

00000000]

X=bwlabel(BW,4)

RGB=label2rgb(X,@jet,'k');

imshow(RGB,'notruesize')

8.利用选择控制点实现图像匹配。

Matlab图像匹配的步骤:

将标准图像和待匹配图像读入Matlab;指定图像中的控制点对并保存;使用互相关性进一步协调控制点对(可选);制定所需变换类型并根据控制点对推断变换参数;变换未匹配的图像。

%读入待匹配图像和标准图像

unregistered=imread('westconcordaerial.png');

imshow(unregistered)

orthophoto=imread('westconcordorthophoto.png');

figure,imshow(orthophoto)

%选择图像中对应的控制点

cpselect(unregistered(:

:

1),orthophoto)

%保存控制点对

input_points

base_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,imshow(registered)

要求做前5个,6-8为选择实验。

[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!

]

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2