%% 返回一个图像的边缘,输入参数为二值图像,白色为待提取边缘的图像点
%% 中国国地质大学(武汉) dcoke55 Mail:[email protected]
function y = getedge(data)
close all
%load data
dataa=data;
subplot(2,3,1)
imshow(data)
%%
size_1=size(data,1);
size_2=size(data,2);
data1=dataa;
for m=1:size_1-1
for n=1:size_2
if data1(m,n)>0 && data1(m+1,n)>0
data1(m,n)=0;
end
end
end
subplot(2,3,2)
imshow(data1)
data2=dataa;
for m=size_1:-1:2
for n=1:size_2
if data2(m,n)>0 && data2(m-1,n)>0
data2(m,n)=0;
end
end
end
subplot(2,3,3)
imshow(data2)
data3=dataa;
for n=1:size_2-1
for m=1:size_1
if data3(m,n)>0 && data3(m,n+1)>0
data3(m,n)=0;
end
end
end
subplot(2,3,4)
imshow(data3)
data4=dataa;
for n=size_2-1:-1:2
for m=1:size_1
if data4(m,n)>0 && data4(m,n-1)>0
data4(m,n)=0;
end
end
end
subplot(2,3,5)
imshow(data4)
data_plus=data1+data2+data3+data4;
subplot(2,3,6)
imshow(data_plus)
评论0