資源簡介
基于形態學的matlab邊緣檢測小程序,親測可用,大家放心下載吧!

代碼片段和文件信息
blood?=?imread(‘lenna.BMP‘);
[xy]=size(blood);????????????????%?求出圖象大小
b=double(blood);??????????????????
N?=sqrt(100)?*?randn(xy);????????%??生成方差為10的白噪聲
I=b;%+N;????????????????????????????%??噪聲干擾圖象
for?i=1:x?????????????????????????%?實際圖象的灰度為0~255
????for?j=1:y
????????if?(I(ij)>255)
????????????I(ij)=255;
????????end
????????if?(I(ij)<0)
????????????I(ij)=0;
????????end
????end
end????
z0=max(max(I));???????????????????%?求出圖象中最大的灰度
z1=min(min(I));???????????????????%?最小的灰度?
T=(z0+z1)/2;??????????????????????
TT=0;
S0=0;?n0=0;
S1=0;?n1=0;
allow=0.5;???????????????????????%?新舊閾值的允許接近程度
d=abs(T-TT);
count=0;?????????????????????????%?記錄幾次循環
while(d>=allow)?????????????????%?迭代最佳閾值分割算法
????count=count+1;
????for?i=1:x
????????for?j=1:y
????????????if?(I(ij)>=T)
????????????????S0=S0+I(ij);
????????????????n0=n0+1;
????????????end
????????????if?(I(ij) ????????????????S1=S1+I(ij);
????????????????n1=n1+1;
????????????end
????????end
????end?
????T0=S0/n0;
????T1=S1/n1;
????TT=(T0+T1)/2;
????d=abs(T-TT);
????T=TT;
end
Seg=zeros(xy);
for?i=1:x
????for?j=1:y
????????if(I(ij)>=T)
????????????Seg(ij)=1;???????????????%?閾值分割的圖象
????????end
????end
end
SI=1-Seg;????????????????????????????%?閾值分割后的圖象求反,便于用腐蝕算法求邊緣
se1=strel(‘square‘3);???????????????%?定義腐蝕算法的結構
SI1=imerode(SIse1);?????????????????%?腐蝕算法
BW=SI-SI1;???????????????????????????%?邊緣檢測
%=====傳統的邊緣檢測方法======%
I=uint8(I);
BW1=edge(I‘sobel‘?0.11);
BW2=edge(I‘log‘?0.015);
%===========圖象顯示==========%
figure(1);
imshow(I);title(‘Original‘)?????????????????????????%?顯示閾值分割的圖象
figure(2);
imshow(BW2);title(‘Soble‘)?????????????????????????%?顯示新算法的邊緣圖象
figure(3)
imshow(BW1);title(‘Gauss-Laplace‘)?
figure(4)
imshow(BW);title(‘New?algorithm‘)?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-05-09?03:40??edgeextraction\
?????文件??????254838??2005-05-17?15:26??edgeextraction\lenna.bmp
?????文件????????1963??2005-05-17?15:26??edgeextraction\P0701.m
- 上一篇:超大tif圖像分割為100等份
- 下一篇:matlab中的牛頓下山法
評論
共有 條評論