Matlab - 识别一个图像中与另一个图像重叠的对象 [英] Matlab - Identifying objects in one image that overlap objects in another
问题描述
我有两个图像,一个是细胞中的一个,另一个是细胞核。我已经将这些图像分割成两个二进制图像/矩阵。我想删除不包含细胞核的细胞轮廓,以及与细胞簇相对应的细胞和细胞核(即包含多个细胞核的细胞轮廓)。
I have two images, one of some cells and another of the nuclei of those cells. I've segmented these images to give two binary images/matrices. I would like to remove cell outlines that contain no nuclei, and cells and nuclei that correspond to clusters of cells (i.e. cell outlines that contain more than one nuclei).
I真的无法解决这个问题...我可以使用bwlabel来制作对象的标记数组:
I really can't figure this out... I can use bwlabel to make labelled arrays of the objects:
[cell, cellnum] = bwlabel(cells,8);
[nuc, nucnum] = bwlabel(nuclei,8);
如何比较这两个数组以获得一个仅包含具有一个核心的细胞的新阵列另一个核对应于这些细胞吗?
How can I compare these two arrays to get one new array that only contains cells with exactly one nucleus and another with the nuclei corresponding to these cells?
推荐答案
你可以做的一件事是循环你在<$中确定的聚类c $ c> cells 二进制图像(概念,未经测试的代码):
One thing you could do is loop through the clusters you identified in your cells
binary image (conceptual, untested code):
for k=1:cellnum
[~, nucnum(k)]=bwlabel(nuclei.*(cell==k));
end
nucnum
然后每个细胞内发现细胞核数的载体。根据您的需要进行筛选。
nucnum
is then a vector with the number of nuclei found inside every cell. Filter according to your needs.
我推荐关于细胞和细胞核细分的博客文章: http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/
I recommend this blog post on the subject of segmenting cells and nuclei: http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/
这篇关于Matlab - 识别一个图像中与另一个图像重叠的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!