clear,clc;
h=imread('ceshi2.bmp');
i=im2bw(h);
i1i=187;
i1j=192;
for ai=181:193
for aj=186:198
if(sqrt(double(ai-i1i)^2+double(aj-i1j)^2)<=5)
i(ai,aj)=1;%定义圆形结构元素
end
end
end
figure,imshow(i);
i1=i;
for i1i=6:205%用B腐蚀A
for i1j=6:205
flag=0;
if(i1i>=181&&i1i<=193&&i1j>=186&&i1j<=198)
continue;
else
if(i(i1i,i1j)==1)
for ai=i1i-5:i1i+5
for aj=i1j-5:i1j+5
if(i1(ai,aj)==0&&sqrt(double((ai-i1i)^2+(aj-i1j)^2))<=5)
i(i1i,i1j)=0;
flag=1;
break;
end
end
if(flag==1)
break;
end
end
end
end
end
end
figure,imshow(i);
%在上面C的图像上用B进行膨胀
i2=i;
for i1i=6:205%用B膨胀C
for i1j=6:205
flag=0;
if(i1i>=175&&i1i<=199&&i1j>=180&&i1j<=204)
continue;
else
for ai=i1i-5:i1i+5
for aj=i1j-5:i1j+5
if(i2(ai,aj)==1&&sqrt(double((ai-i1i)^2+(aj-i1j)^2))<=5)
i(i1i,i1j)=1;
flag=1;
break;
end
end
if(flag==1)
break;
end
end
end
end
end
figure,imshow(i);
%在上面D的图像上用B进行膨胀
i2=i;
for i1i=6:205%用B膨胀D
for i1j=6:205
flag=0;
if(i1i>=175&&i1i<=199&&i1j>=180&&i1j<=204)
continue;
else
for ai=i1i-5:i1i+5
for aj=i1j-5:i1j+5
if(i2(ai,aj)==1&&sqrt(double((ai-i1i)^2+(aj-i1j)^2))<=5)
i(i1i,i1j)=1;
flag=1;
break;
end
end
if(flag==1)
break;
end
end
end
end
end
figure,imshow(i);
%在上面E的图像上用B进行腐蚀
i1=i;
for i1i=6:205%用B腐蚀E
for i1j=6:205
flag=0;
if(i1i>=181&&i1i<=193&&i1j>=186&&i1j<=198)
continue;
else
if(i(i1i,i1j)==1)
for ai=i1i-5:i1i+5
for aj=i1j-5:i1j+5
if(i1(ai,aj)==0&&sqrt(double((ai-i1i)^2+(aj-i1j)^2))<=5)
i(i1i,i1j)=0;
flag=1;
break;
end
end
if(flag==1)
break;
end
end
end
end
end
end
figure,imshow(i);