【问题标题】:How to perform Watershed segmentation and Blob analysis on a single image?如何对单个图像执行分水岭分割和 Blob 分析?
【发布时间】:2012-05-15 20:58:34
【问题描述】:

我打算使用 Open-CV 编写一个程序来计算类似于下图的图像中的对象数量。

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

我不清楚的是,如何将这两种技术应用于可能有或没有重叠颗粒的图像。如果图像中至少有一个颗粒相互接触,我是否要同时执行这两种技术?如果是,按什么顺序?或者我是否只执行分水岭,因为某处会重叠,并且执行 Blob 检测会由于合并的 blob 而导致错误输出?提前致谢。

【问题讨论】:

标签: image-processing opencv pattern-matching computer-vision watershed


【解决方案1】:

您说“只要图像中至少有一个重叠实例”,但也说“重叠超出范围”。

如果分水岭算法处理具有重叠颗粒的图像,Blob 检测可能不会提供任何优势(因为它会合并重叠对象)。

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

这是一个使用 Matlab 的示例,它使用 Watershed 执行细胞分割:

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

如果您需要避免计算仅部分可见的对象,您可以使用 Voronoi 图并删除与边缘相连的对象:

http://pythonvision.org/basic-tutorial

【讨论】:

  • 非常感谢。抱歉这个错误,我的意思是至少有一个颗粒相互接触边缘......
猜你喜欢
  • 2019-08-06
  • 2020-07-27
  • 1970-01-01
  • 2012-07-11
  • 2013-10-23
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
相关资源
最近更新 更多