过度分水岭的形象

Ben*_*Ben 5 matlab image-processing image-segmentation watershed

我在显微镜图像中分离细胞时遇到了麻烦.当我应用分水岭变换时,我最终将细胞切割成许多块而不仅仅是在边界/最小处将它们分开.

我正在使用http://physics.georgetown.edu/matlab/code.html上的bpass过滤器.

bp = bpass(image,1,15);
op = imopen(bp,strel('ball',10,700));
bw = im2bw(bp-op,graythresh(bp-op));
bw = bwmorph(bw,'majority',10);
bw = imclearborder(bw);
D = bwdist(~bw);
D = -D;
D(~bw) = -Inf;
L = watershed(D);
mask = im2bw(L,1/255);
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激!您可以看到我的细胞在最终的面具中被分开太多.

这是我试图分水岭的那种形象.它是一个16位的图像,所以它看起来像是全黑的.

启动荧光图像

最终图像掩码:

过滤并屏蔽细胞后

我在这里手动分离了细胞:

手动分割图像

Sha*_*hai 2

找到细胞的中心应该相对简单:找到强度的局部最大值。使用这些点作为分水岭的种子,您可能会发现本教程很有用。

您可能会发现有用的一些形态学操作是:
- imimposemin- 在计算分水岭变换时强制种子点为局部最小值。
- imregionalmax- 寻找强度图像的局部最大值。