首页 文章

如何在单个图像上执行分水岭分割和Blob分析?

提问于
浏览
0

我打算用Open-CV编写一个程序来计算图像中与下面类似的对象数 .

Sample image

我计划采用的方法是使用直方图来阈值图像,然后使用Blob检测来计算所识别的Blob的数量 . 只要颗粒状物体不相互接触,这就可以正常工作 . (虽然重叠超出范围)我已经研究了使用Watershed分段来识别彼此接触的对象的可能性 .

我不清楚的是,如何将这两种技术应用于可能有或没有重叠颗粒的图像 . 如果图像中至少有一个颗粒相互接触,我是否可以执行这两种技术?如果是这样的话?或者我只执行Watershed,因为在某处会有重叠并且执行Blob检测会导致由于合并的blob导致错误的输出?提前致谢 .

1 回答

  • 2

    你说“假设图像中至少有一个重叠的实例”,而且“重叠超出了范围” .

    如果Watershed算法处理具有重叠粒料的图像,则Blob检测可能不会提供任何优势(因为它将合并重叠的对象) .

    如果你真的想要结合这些方法,你可以在他们自己的管道中运行它们,并使用概率模型来组合这两者 . 但最好从简单开始,看看你先得到什么样的结果 .

    以下是使用Matlab进行细胞分割的示例:

    http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/

    如果您需要避免计算仅部分在视图中的对象,则可以使用Voronoi图并删除与边连接的对象:

    http://pythonvision.org/basic-tutorial

相关问题