查找图像中圆圈的各个中心点

时间:2014-01-21 04:49:28

标签: c++ opencv computer-vision coordinates

我正在使用开放式CV和C ++。我有一个完全黑暗的图像,上面有3个彩色点。我需要他们的中心坐标。如果我在暗图像中只有一个彩色点,它将自动显示其中心坐标。但是,如果我将带有3个彩色点的暗图像作为输入,我的程序将对这3个坐标进行平均并将3个彩色点的中心返回到一起,这是我的确切问题。我需要他们各自的中心坐标。

enter image description here

任何人都可以建议一种方法来做到这一点。感谢

以下是代码http://pastebin.com/RM7chqBE

2 个答案:

答案 0 :(得分:3)

找到解决方案!

  1. 将原始图像加载到灰度
  2. 将原始图片转换为灰色
  3. 根据需要检测的颜色设置强度值范围
  4. 轮廓和层次结构的向量
  5. findContours
  6. 时刻和点的向量
  7. 遍历每个轮廓以找到坐标

答案 1 :(得分:0)

轻松完成此操作的方法之一是使用findContours和drawContours函数。 在文档中,您有一些代码可以解释如何检索图像的连接组件。你正在尝试做什么。

例如,您可以在其自己的图像上绘制您将找到的每个连接组件(这意味着每个点),并使用您在每个图像上已有的代码。 这可能不是最有效的方法,但它非常简单。

我将如何做到这一点 http://pastebin.com/y1Ae3e2V

我不确定这是否有效,因为我没有时间测试它,但你可以试试。