我正在尝试创建一个可以在这样的图像中计数核数的程序:



我已经逐步完成以下工作:


应用交替顺序滤波器(使用逐渐变大的结构元素关闭和打开图像)
应用距离变换
使用距离变换图像对分水岭进行分割检测极小值

产生以下结果(每种颜色代表一个新计数的核):



我们可以看到,许多缺陷,特别是核数过多。我想说这个问题的原因是我对分水岭变换(使用距离变换)施加最小值的方式,但是在这种情况下,我真的没有其他想法来施加最小值。

距离变换基于对象的圆度生成最小值,我想知道一个比交替序列滤波器更好的将原子四舍五入的替代方法(从上图可以看出,大多数“超计数”来自于较少的圆形核)。我还想知道更好的方法来对分水岭变换施加最小值。

评论

有时我会在工作中遇到此类问题,而...不必赘述。我通常要求用户返回显微镜并获取体面的图像。我不确定我是否可以手工准确地计算它们。这是您的选择吗(重做我指的是成像部分)?

疯狂的想法可能有效,这取决于您需要分析多少张图像以及多长时间一次,但要知道人类在这种情况下会更好:尝试使用Amazon的Mechanical Turk。

您能为您的形象提供真实的事实吗? (由您手动描绘)我看了一下图像,坦率地说,我无法告诉您哪些是原子核或哪些是伪影。有些原子核仅由几个像素组成?原子核应该是圆形/椭圆形吗?最终,正如@ Jean-Yves所指出的,您能得到更好的画面吗?我们所有人都可以调整对比度和亮度,但不能重新给样品着色。

#1 楼

关于如何处理分水岭的过度分割问题的文章很多,但我认为您应该阅读“稳健的细胞图像分割方法”(Bengtsson等人于2004年发表的科学文章)。

它涵盖了多种分割方法细胞图像,并包括现实世界中的示例,这些示例在与您相似的荧光显微镜图像上显示了如何处理分水岭的过度分割(它也提供了明亮视野图像和共聚焦显微镜图像的示例)。它使用距离变换中的种子,类似于您的方法,并合并边界较弱的区域。这篇文章读起来很好,概念很简单,可以在Matlab中实现。

要了解更多最新方法,您可以阅读Svensson的“基于模糊距离信息的3D模糊对象的分解方案”。它使用了与Bengtsson等人类似的方法,但是可以进行模糊距离变换,从而为文章中使用的对象提供更好的密度表示。

#2 楼

您可以尝试“扩展极大值变换”,这是一种形态重建方法。在给定的对比度标准下,它可以检测到最大点,您可以将其反转和施加。在Matlab中实现。