基于区域的状态图像检测与验证

时间:2012-04-18 03:17:23

标签: python image-processing numpy scipy python-imaging-library

我目前正在开展一个项目,我必须将正常细胞与患病细胞区分开来。我正在研究的具体异常表明细胞核应该具有一定的区域并且大部分是圆形的。我目前正在使用scipy,numpy和PIL来确定原子核的存在(见下图)......但我不确定如何确定该区域,因为原子核并不总是一个完美的圆。有什么建议吗?

Original Image before processing

Original Image before processing

Only nuclei are shown

Only nuclei are shown (Mapped Image)

2 个答案:

答案 0 :(得分:2)

如果您知道图像的比例,则只计算落在单元格区域内的像素数。然后,该数字除以图像中的总像素数,即可得到单元格占据的图像区域的分数。如果您知道图像分辨率,那么您应该知道该矩形图像域的区域。将两者相乘得到细胞区域。

一些不准确的来源将是(a)如果分割不良(b)如果细胞被拉长(较差的等长商)并且包括/排除细胞边界像素的舍入则很重要,或者(c)如果细胞永远处于阴影中/在正确的平面中未观察到以产生其横截面积。但希望您的实验包含足够的数据,您可以将其丢弃。

答案 1 :(得分:0)

如果您已将数据标记为以下内容,则按每个颜色像素计数即可获得该区域:

data = np.array([[0,0,1,1,1],
                 [2,2,1,1,1],
                 [2,3,3,3,3],
                 [2,4,4,3,3]])

比使用numpy.bincount()计算每个标签:

print numpy.bincount(data.ravel())

输出是:

array([2, 6, 4, 6, 2])

表示有两个0,6个1,4个2,6个3和2个。