当前位置:文档之家› 实验六数学形态学及其应用

实验六数学形态学及其应用

实验六数学形态学及其应用
实验六数学形态学及其应用

实验六: 数学形态学及其应用

实验原理

腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。

膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。

二值形态学

II (xx ,yy ), TT (ii ,jj )为0011?图像 腐蚀:

EE (xx ,yy )=(II ⊙TT )(xx ,yy )=?[II (xx +ii ,yy +jj )&TT (ii ,jj )]mm ii ,jj=00

膨胀:

DD (xx ,yy )=(II ⊕TT )(xx ,yy )=?[II (xx +ii ,yy +jj )&TT (ii ,jj )]mm ii ,jj=00

灰度形态学

TT (ii ,jj )可取0011?以外的值 腐蚀: EE (xx ,yy )=(II ⊙TT )(xx ,yy )=

mmii mm 00≤ii ,jj≤mm?11[II (xx +ii ,yy +jj )?TT (ii ,jj )] 膨胀: DD (xx ,yy )=(II ⊕TT )(xx ,yy )=mmmmxx 00≤ii ,jj≤mm?11[II (xx +ii ,yy +jj )+TT (ii ,jj )]

1.腐蚀Erosion : XX ⊙BB ={xx :BB xx ?xx }

B 1删两边

B 2删右上

2.膨胀Dilation : XX ⊕BB ={xx :BB xx ↑xx }

B1补两边B2补左下

3.开运算open:

XX BB=(XX⊙BB)⊕BB

4.闭运算close:

XX BB=(XX⊕BB)⊙BB

代码1:

function[]= fs()

I=imread('finger.tif');

subplot(1,2,1),imshow(I);

title('原图');

BW=I;

BW=rgb2gray(BW);

SE=strel('square',2);%结构元素为边长2像素的正方形

BW=imopen(BW,SE);%开运算(先腐蚀再膨胀)可以消除小物体、在纤细点处分离物体、平滑较大物体的边界。

%BW=imerode(BW,SE); %腐蚀

%BW=medfilt2(BW,[3 3]); %中值滤波(腐蚀后中值滤波可能导致本来连接的指纹断开)

%BW=imdilate(BW,SE); %膨胀

%BW=imclose(BW,SE); %闭运算(先膨胀再腐蚀)能够排除小型黑洞(黑色区域)。

BW=imdilate(BW,SE);%膨胀

BW=medfilt2(BW,[33]);%中值滤波(膨胀后中值滤波可能导致指纹图像噪声去除不干净)

BW=imerode(BW,SE);%腐蚀

subplot(1,2,2),imshow(BW);

title('处理后');

%BW=bwmorph(BW,'thin',Inf); %骨架化

%figure,imshow(BW);

%title('骨架化');

代码2:

function[]= op()

I=imread('rectangel.tif');

subplot(1,2,1),imshow(I);

title('原图');

BW=I;

BW=rgb2gray(BW);

SE=strel('square',10);%结构元素为边长10像素的正方形

BW=imopen(BW,SE);%开运算

BW=imclose(BW,SE);%闭运算

subplot(1,2,2),imshow(BW);

title('处理后');

实验结果

结果1

结果2

两组实验都是采用先开运算后闭运算的方法,不同的是第一组的结构元素是22×22的正方形,而且在闭运算的膨胀步骤后加了33×33的中值滤波;第二组采用的结构元素是1100×1100的正方形。

相关主题
文本预览
相关文档 最新文档