关于opencv:处理一些类似图像的好方法

Good Method for Processing some Similar Images

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

enter image description here

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


下面的直接进近是否太慢?

  • 将图像二值化,使原来的绿色背景为黑色,其余(黑色方块为白色点)为白色。
  • 使用cv::findcontours。
  • 找到中心。
  • 将图像二值化,使除白点之外的所有内容都为黑色。
  • 使用cv::findcontours。
  • 找到中心。
  • 将每个点轮廓指定给深蹲轮廓,因为这是一个入口。
  • 通过圆心和圆点圆心之间的线的角度来计算正方形的旋转。