如何识别这个复杂图像中的粒子?

问题描述 投票:0回答:1

我已经在很长一段时间内尝试使用Python + OpenCV,并按照许多教程来识别下图中的粒子:

我的最终目标是识别每个粒子,从那里我将能够例如计算粒子数,计算粒度分布等。

我已经尝试过多个站点的自定义示例。我得到了很好的提示:

  1. How to define the markers for Watershed in OpenCV?
  2. Counting particles using image processing in python

虽然我无法取得不错的成绩。

如何使用Python和OpenCV识别此图像中的粒子?

python opencv image-processing image-segmentation watershed
1个回答
0
投票

IMO,获得有意义结果的唯一希望是使用颗粒为圆形的事实。通过使用一些同质性标准,您可以找到候选粒子中心,并从这些中心生长轮廓,使它们保持圆形并停在边缘。一个选项可以是从种子点绘制光线,找到最近的边缘点并使用圆形或椭圆形的稳健拟合。

拒绝与圆度相差太远的形状。这应该允许您找到未被遮挡的粒子。然后你可以从其他种子点继续游戏,这次增长的轮廓可以被已经检测到的粒子遮挡。 (当边缘被击中时,如果已知它属于粒子,则忽略它。)

© www.soinside.com 2019 - 2024. All rights reserved.