Matlab - 识别一个图像中与另一个图像重叠的对象

时间:2014-11-13 16:36:43

标签: image matlab object image-processing

我有两个图像,一个是细胞中的一个,另一个是细胞核。我已经将这些图像分割成两个二进制图像/矩阵。我想删除不包含细胞核的细胞轮廓,以及与细胞簇相对应的细胞和细胞核(即包含多个细胞核的细胞轮廓)。

我真的无法解决这个问题......我可以使用bwlabel来制作对象的标记数组:

[cell, cellnum] = bwlabel(cells,8);
[nuc, nucnum] = bwlabel(nuclei,8);

如何比较这两个数组以获得一个新数组,该数组仅包含具有一个核的细胞,另一个核的细胞核对应于这些细胞?

1 个答案:

答案 0 :(得分:1)

您可以做的一件事就是遍历您在cells二进制图片中识别的群集(概念性,未经测试的代码):

for k=1:cellnum
    [~, nucnum(k)]=bwlabel(nuclei.*(cell==k));
end
然后

nucnum是一个载体,每个细胞内都有细胞核数。根据您的需要过滤。

我推荐关于分割细胞和细胞核的主题的博文:http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/