如何在MATLAB中检测重叠的几乎圆形的对象?

时间:2015-02-21 20:55:33

标签: algorithm matlab image-processing

我正在开展一项涉及检测血液中红细胞的项目。血液中的红细胞从来不是完全圆形的(通常几乎是椭圆形的)并且它们经常重叠。

我搜索并发现了许多算法,但大多数只适用于圈子。然而,在我的情况下,它需要用于患有镰状细胞病的患者的血液,其中RBC是细长的或镰刀状的。供参考here is an example source image

你能建议一种算法或方法来解决这个问题吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

正如评论中所提到的,这个问题实在太宽泛,无法完全回答。但是,我可以就如何解决这个问题给你一些指示。

首先,请自己学习MATLAB Image Processing toolbox

"识别红细胞"是一个看似简单的声音任务。这样的任何项目的第一步是找出你想要实现的完全,然后开始将其分解为如何实现这一目标的步骤。最后,有一个实验开发阶段,您可以尝试并实施您的计划(意识到它有什么问题,然后再试一次)。

细胞计数通常使用圆形来识别细胞,但这里不可能,因为您声明要识别镰状细胞。区分RBC与其他细胞的其他主要特征是颜色和大小。颜色更绝对,所以从那开始。然后考虑一下大小。 This is a good tutorial on the process of identifying cells虽然它是在Python中,但原理是相同的。

所以我们有:

  1. 对图像应用滤镜,可以隔离红色通道(RGB)或更复杂的东西。使其单色(我们不需要颜色数据)。
  2. 平滑图像(例如gaussian filter)以减少噪音和伪影
  3. 查找regional maxima哪些(希望!)在单元格中心
  4. Label the regional maxima(这应该会为您提供单元格数)
  5. Watershed查找整个单元格的度量大小
  6. 希望这足以让你入门!