我想對(duì)這幅圖像中的水稻進(jìn)行圖像分割,采取了基于控制標(biāo)記的距離變換分水嶺分割程序如下
rgb = imread('C:\Users\chenxuan\Desktop\稻子原圖.jpg');
if ndims(rgb) == 3
I = rgb2gray(rgb);
else
I = rgb;
end
hy = fspecial('sobel');
hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
L = watershed(gradmag);
wr=L==0;%分水嶺脊線
subplot(121),imshow(rgb),subplot(122),imshow(wr)
rm=imregionalmin(I);whos rm
figure,imshow(rm)
im2=imextendedmin(I,27);
figure,imshow(im2)
fim=I;fim(im2)=175;figure,imshow(fim)%以灰色來顯示這些“局部最小區(qū)域”
fim=I;fim(im2)=175;figure,imshow(fim,[])
temp=bwdist(im2);%距離變換
figure,imshow(temp,[])
Lim=watershed(temp);
em=Lim==0;
figure,imshow(em) %em=external marker,外部標(biāo)記符
whos em
max(em( )
temp=bwdist(~im2);figure,imshow(temp,[])
Lim=watershed(temp);em=Lim==0;figure,imshow(em)
I(em)=255;figure,imshow(I,[])
fim(em)=255;figure,imshow(I,[])
g2=imimposemin(g,im2|em);
g2=imimposemin(gradmag ,im2|em);
L2=watershed(g2);
f2=I;f2(L2==0)=255;
figure,imshow(f2,[])
可是結(jié)果分割并不理想
![分水嶺分割圖像結(jié)果不理想]()
稻子原圖.JPG
![分水嶺分割圖像結(jié)果不理想-1]()
基于控制標(biāo)記的距離變換分水嶺分割結(jié)果.PNG |