0

我有一个目标的图像,如下所示:

在此处输入图像描述

我有一张充满它们的图片,每个都被缩放和旋转。我需要在第二张图像中检测目标的中心。

我怎样才能做到这一点?

我知道如何使用 SURF 来检测两个图像之间的匹配点。但是当包含的图像中有多个参考图像的实例时,我不知道如何使用它来检测另一幅图像中的一个图像。

当我在包含图像中检测目标图像时,我也不知道如何检测目标的中心。

我正在使用 openCV 2.4.6 和 Visual Studio 2012。

输出应该是这样的:

在此处输入图像描述

请注意我画了一个圆圈来定义它们的中心的目标。我需要中心 x,y 在另一个进程中使用它们。

编辑1

根据建议,我对图像进行阈值处理,然后使用 find contour 生成此图像:

在此处输入图像描述

现在我有两个问题:

  1. 如何过滤掉与任何目标无关的轮廓?
  2. 如何检测目标的中心?
4

1 回答 1

1

对于 SURF 或任何其他特征提取方法,您的图像似乎太简单了。这是我将遵循的一种方法:

  1. 阈值
  2. 连接组件标签
  3. 获取斑点的质心

显然,每个步骤都可以根据您的图像复杂程度进行详细说明。例如,可能需要基于其特征的自适应阈值或斑点过滤。

于 2013-10-21T13:41:35.053 回答