当前位置:文档之家› matlab利用膨胀腐蚀简单实现的边缘检测

matlab利用膨胀腐蚀简单实现的边缘检测

clear all;close all;
name='lenaG';
geshi='.jpg';
a=[name,geshi];
b=imread(a);
g=b;f=b;
[Sx,Sy]=size(b);
w=ones(9); %形态学模板,处理模板,大小自定
for i = 2:Sx-1
for j = 2:Sy-1
k=1;
max=0;min=255;
for ii = i-1:i+1
for jj= j-1:j+1
if(w(k) * b(ii,jj) > max)
max=w(k)*b(ii,jj);
end
if(w(k) * b(ii,jj) < min)
min = w(k)*b(ii,jj);
end
end
end
g(i,j)=max;%膨胀图片
f(i,j)=min;%腐蚀图片
end
end

subplot(231);imshow(g);%对比图片
subplot(234);imhist(g);
subplot(232);imshow(f);
subplot(235);imhist(f);
subplot(233);imshow(b);
subplot(236);imhist(b);
figure;imshow(g-f);%膨胀图片每个像素减去腐蚀图片的值相当于边缘检测

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