%使用梯度和分水岭变换来分割灰度图像
f=imread('small-blobs.tif');%读取图像
subplot(2,2,1),imshow(f),title('灰度级图像')
h=fspecial('sobel');%类型为sobel的滤波器
fd=double(f);
g=sqrt(imfilter(fd,h,'replicate').^2+...
imfilter(fd,h','replicate').^2);%幅度梯度
subplot(2,2,2),imshow(g),title('幅度梯度图像')
L=watershed(g);%分水岭变换
wr=L==0;%分水岭脊线
subplot(2,2,3),imshow(wr),title('分水岭变换图像')
g2=imclose(imopen(g,ones(3,3)),ones(3,3));%开闭运算平滑梯度
L2=watershed(g2);%平滑梯度的分水岭变换
wr2=L2==0;%分水岭脊线
f2=f;%原图像
f2(wr2)=255;%在原图像中把wr中的分水岭脊线以白色线条的方式叠加
subplot(2,2,4),imshow(f2),title('平滑梯度后的分水岭变换')
使用梯度和分水岭变换来分割灰度图像
最新推荐文章于 2022-07-12 17:59:56 发布