2

我正在寻找一种有效的方法来检测数字周围的小方块(请参见图像)? 我已经尝试过使用hough转换没有成功。有任何想法吗?我需要一些提示!我使用的OpenCV ...正方形检测,图像处理

回答

0

我试图通过检测整体的矩形边界开始然后应用透视变换使其成为真正的矩形。剪出图像的那部分。如果可能,然后尝试使交替的白色和灰色子矩形具有相同的背景亮度 - 也许尝试adaptive histogram equalization

然后霍夫变换可能表现更好。或者,您可以采用与罗伯特贝米斯在MATLAB中心(它分析DNA微阵列图像而不是Lotto卡片,但本质上是在网格中排列项目的边界框)分析的this demonstration大致相似的方法。在较高层次上,这种方法是计算像素的列和行的自相关,以检测网格中项目的周期性,并使用它来对每个项目施加边界框。

对不起,上述建议主要是基于MATLAB的;恐怕我不是一个opencv用户,但希望至少会给你一些想法。

4

为灵感,你可以看看

或者,如果你总是在追逐同一网格你可以部署这样的事情:

  • 制作一个完美的网格人造模板,并检测或保存所有角落的所有坐标。
  • 在目标图像中,做同样的事情,例如Harris分。要有创意,你也可以使用可以在图像中找到的独特三角形。
  • 使用模板和找到的哈里斯点的坐标,确定模板和目标图像之间的仿射变换x = Ax'。然后可以使用该转换将模板网格映射到目标图像上。至少这会给你一些事先信息来帮助指导进一步的细分。

的想法和仿射矩阵A估计的例子的要点可以Zissermans书Multiple View Geometry in Computer Vision的网站,上找到Peter Kovesi