资源简介

分水岭分割图像方法,有详细注释,值得拥有

资源截图

代码片段和文件信息

I=imread(‘T_23_N.bmp‘);  %读取原图像

figuresubplot(121)%显示灰度图像
imshow(I)

hy=fspecial(‘sobel‘);%sobel算子
hx=hy‘;
Iy=imfilter(double(I)hy‘replicate‘);%滤波求y方向边缘
Ix=imfilter(double(I)hx‘replicate‘);%滤除x方向边缘
gradmag=sqrt(Ix.^2+Iy.^2);%求模
subplot(122);imshow(gradmag[])%显示梯度
title(‘Gradient magnitude ()gradmag‘);


L=watershed(gradmag);%直接应用分水岭算法
Lrgb=label2rgb(L);%转化为彩色图像
figureimshow(Lrgb);%显示分割后的图像
title(‘Watershed transform of gradient magnitude (Lrgb)‘);


se=strel(‘disk‘2);%圆形结构元素
Io=imopen(Ise);%形态学开操作
figuresubplot(121);
imshow(Io);%显示执行开操作后的图像
title(‘Opening (Io)‘)
Ie=imrode(Ise);%对图像进行腐蚀
Iobr=imreconstruct(IeI);%形态学重建
subplot(122)imshow(Iobr);%显示重建后的图像
title(‘Opening-by-reconstruction (Iobr)‘)
Ioc=imclose(Iose);%形态学操作
figuresubplot(121)
imshow(Ioc)%显示关操作后的图像
title(‘Opening-closeing (Ioc)‘)
Iobrd=imdila

评论

共有 条评论