📄 dne.asv
字号:
clc;
clear;
hold off;
I = imread('A.bmp');
figure(1);
imshow(I);
title('原图');
%-----------------------初始化----------------------
for i = 1:256
for j = 1:256
J(i,j) = 255;
end
end
%-----------------------腐蚀------------------------
for i = 2:255
for j = 2:255
if I(i-1,j-1) == 0
J(i,j) = 0;
end
if I(i,j-1) == 0
J(i,j) = 0;
end
if I(i+1,j-1) == 0
J(i,j) = 0;
end
if I(i-1,j) == 0
J(i,j) = 0;
end
if I(i+1,j) == 0
J(i,j) = 0;
end
if I(i-1,j+1) == 0
J(i,j) = 0;
end
if I(i,j+1) == 0
J(i,j) = 0;
end
if I(i+1,j+1) == 0
J(i,j) = 0;
end
end
end
%-----------------------填充------------------------
for i = 1:256
J(1,i) = 0;
J(256,i) = 0;
end
for j = 1:256
J(j,1) = 0;
J(j,256) = 0;
end
figure(2);
imshow(J);
title('腐蚀处理后');
%-----------------------初始化----------------------
for i = 1:256
for j = 1:256
K(i,j) = 0;
end
end
%-----------------------膨胀------------------------
for i = 2:255
for j = 2:255
if J(i-1,j-1) == 255
K(i,j) = 255;
end
if J(i,j-1) == 255
K(i,j) = 255;
end
if J(i+1,j-1) == 255
K(i,j) = 255;
end
if J(i-1,j) == 255
K(i,j) = 255;
end
if J(i+1,j) == 255
K(i,j) = 255;
end
if J(i-1,j+1) == 255
K(i,j) = 255;
end
if J(i,j+1) == 255
K(i,j) = 255;
end
if J(i+1,j+1) == 255
K(i,j) = 255;
end
end
end
figure(3);
imshow(K);
title('膨胀处理后');
%--------------------------------end of 开运算--------------------------------------
%-----------------------初始化----------------------
for i = 1:256
for j = 1:256
L(i,j) = 0;
end
end
%-----------------------膨胀------------------------
for i = 2:255
for j = 2:255
if K(i-1,j-1) == 255
L(i,j) = 255;
end
if K(i,j-1) == 255
L(i,j) = 255;
end
if K(i+1,j-1) == 255
L(i,j) = 255;
end
if K(i-1,j) == 255
L(i,j) = 255;
end
if K(i+1,j) == 255
L(i,j) = 255;
end
if K(i-1,j+1) == 255
L(i,j) = 255;
end
if K(i,j+1) == 255
L(i,j) = 255;
end
if K(i+1,j+1) == 255
L(i,j) = 255;
end
end
end
figure(4);
imshow(L);
%-----------------------初始化----------------------
for i = 1:256
for j = 1:256
M(i,j) = 255;
end
end
%-----------------------腐蚀------------------------
for i = 2:255
for j = 2:255
if L(i-1,j-1) == 0
M(i,j) = 0;
end
if L(i,j-1) == 0
M(i,j) = 0;
end
if L(i+1,j-1) == 0
M(i,j) = 0;
end
if L(i-1,j) == 0
M(i,j) = 0;
end
if L(i+1,j) == 0
M(i,j) = 0;
end
if L(i-1,j+1) == 0
M(i,j) = 0;
end
if L(i,j+1) == 0
M(i,j) = 0;
end
if L(i+1,j+1) == 0
M(i,j) = 0;
end
end
end
%-----------------------填充------------------------
for i = 1:256
M(1,i) = 0;
M(256,i) = 0;
end
for j = 1:256
M(j,1) = 0;
M(j,256) = 0;
end
figure(5);
imshow(M);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -