用距离和分水岭变换分割二值图像

%用距离和分水岭变换分割二值图像

f=imread('binary-dowel-image.tif');%读取图像
f=double(f);%变成double型
g=im2bw(f,graythresh(f));%变成二值图像
subplot(3,2,1),imshow(g),title('二值图像')

gc=~g;%图像的补
subplot(3,2,2),imshow(gc),title('二值图像的补')

D=bwdist(gc);%距离变换
subplot(3,2,3),imshow(D),title('距离变换')

L=watershed(-D);%负负分水岭变换
w=L==0;%分水岭脊线
subplot(3,2,4),imshow(L),title('距离变换的负分水岭脊线')

g2=g & ~w;%原图像与图像w的补
subplot(3,2,5),imshow(g2),title('黑色叠加在原始二值图像后的分水岭脊线')

你可能感兴趣的:(用距离和分水岭变换分割二值图像)