3

我需要在实时情况下处理一些图像。我正在使用 OpenCV 从相机接收图像。我使用的语言是 C++。附上图像示例。应用一些阈值过滤器后,我得到了这样的图像,当然这里和那里可能会有一些像素噪声,但不是那么多。

在此处输入图像描述

我需要检测正方形的中心和旋转,以及白色圆圈的中心。我完全不知道该怎么做,因为它需要非常快。可以预定义正方形的数量。任何帮助都会很棒,在此先感谢。

4

1 回答 1

3

以下直截了当的方法是否太慢了?

  • 将图像二值化,使原来的绿色背景为黑色,其余部分(黑色方块为白点)为白色。
  • 使用 cv::findContours。
  • 获得中心。
  • 对图像进行二值化,使除白点外的所有内容均为黑色。
  • 使用 cv::findContours。
  • 获得中心。
  • 将每个点轮廓分配给方形轮廓,因为这是一个内点。
  • 通过它们的中心和它们的点的中心之间的线的角度来计算正方形的旋转。
于 2012-12-07T14:28:44.097 回答