资源简介
基于距离变换的分水岭分割算法,该算法可以实现对粘连物体的分割。
代码片段和文件信息
rgb = imread(‘pears.png‘);%读取原图像
I = rgb2gray(rgb);%转化为灰度图像
figure; subplot(121)%显示灰度图像
imshow(I)
text(732501‘Image courtesy of Corel‘...
‘FontSize‘7‘HorizontalAlignment‘‘right‘)
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);%转化为彩色图像
figure; imshow(Lrgb) %显示分割后的图像
title(‘Watershed transform of gradient magnitude (Lrgb)‘)
se = strel(‘disk‘ 20);%圆形结构元素
Io = imopen(I se);%形态学开操作
figure; subplot(121)
imshow(Io) %显示执行开操作后的图像
title(‘Opening (Io)‘)
Ie = imerode(I se);%对图像进行腐蚀
Iobr = imreconstruct(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2889 2010-06-19 14:26 Watershed algorithm.m
----------- --------- ---------- ----- ----
2889 1
评论
共有 条评论