Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image Matlab-识别一幅图像中与另一幅图像中的对象重叠的对象_Image_Matlab_Object_Image Processing - Fatal编程技术网

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

Image Matlab-识别一幅图像中与另一幅图像中的对象重叠的对象,image,matlab,object,image-processing,Image,Matlab,Object,Image Processing,我有两张照片,一张是一些细胞,另一张是这些细胞的细胞核。我将这些图像分割成两个二值图像/矩阵。我想删除不包含细胞核的细胞轮廓,以及对应于细胞簇的细胞和细胞核(即包含多个细胞核的细胞轮廓) 我真的搞不懂。。。我可以使用bwlabel制作对象的带标签数组: [cell, cellnum] = bwlabel(cells,8); [nuc, nucnum] = bwlabel(nuclei,8); 如何比较这两个数组,以得到一个新数组,该数组只包含一个细胞核,另一个数组包含与这些细胞核对应的细胞核?

我有两张照片,一张是一些细胞,另一张是这些细胞的细胞核。我将这些图像分割成两个二值图像/矩阵。我想删除不包含细胞核的细胞轮廓,以及对应于细胞簇的细胞和细胞核(即包含多个细胞核的细胞轮廓)

我真的搞不懂。。。我可以使用bwlabel制作对象的带标签数组:

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

如何比较这两个数组,以得到一个新数组,该数组只包含一个细胞核,另一个数组包含与这些细胞核对应的细胞核?

您可以做的一件事是循环遍历您在
细胞
二值图像中识别的簇(概念性的、未测试的代码):

nucnum
是一个向量,表示每个细胞内发现的细胞核数量。根据您的需要进行过滤


我推荐这篇关于细胞和细胞核分割的博文:

分享相关图片,并解释这些图片?对于共享图像,您可以上传到一些公共图像共享网站并链接到这里。好的,看起来这可能就是门票。这里发生了什么事?我们将
细胞核
图像数组乘以单个
细胞
子区域,并将其放入“nucnum”数组。。。瓷砖是否意味着我们跳过了实际的区域标记?当然,谢谢你的帮助。我没有意识到我可以将图像上的操作作为bwlabel之类函数的参数,这使我的代码更加整洁!嗨,我能再问一个问题吗?为什么
nucnum
引用
k
在那里?@Olly使用这种语法,
nuncum
是一个向量,每次执行循环时(在第k个位置)都会得到一个额外的元素。如果不使用它运行循环,它将在每次执行时覆盖
nuncum
的值,并且只剩下最后一个值。谢谢。之后我尝试在集群上执行pca,但实际上没有取得任何进展:对于k=1:cellnum[l,nucnum]=bwlabel(nucleus.*(cell==k));如果nucnum==1[coeff,score]=princomp(l);结束但这并不像我预期的那样有效。。。翻出一页又一页的零。作为一种方法,这有意义吗?
for k=1:cellnum
    [~, nucnum(k)]=bwlabel(nuclei.*(cell==k));
end