2

我正在寻找一种有效的方法来检测数字周围的小框(见图)?我已经尝试使用霍夫变换但没有成功。有任何想法吗?我需要一些提示!我正在使用opencv ...

4

2 回答 2

4

如需灵感,您可以查看

或者,如果您总是在寻找相同的网格,您可以部署如下内容:

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

可以在 Zissermans 的《计算机视觉中的多视图几何》一书和Peter KovesiA的网站上找到关于仿射矩阵估计的思想和示例的要点

于 2011-11-17T10:01:03.387 回答
0

我首先尝试检测整个工作表的矩形边界,然后应用透视变换使其真正成为矩形。裁剪图像的那部分。如果可能,请尝试使交替的白色和灰色子矩形具有相等的背景亮度 - 也许尝试自适应直方图均衡化

那么霍夫变换可能会表现得更好。或者,您可以采用一种与Robert Bemis 在 MATLAB Central 上的演示大体相似的方法(它分析的是 DNA 微阵列图像而不是 Lotto 卡,但它本质上是寻找排列成网格的项目的边界框)。在高层次上,该方法是计算沿像素列和行的自相关以检测网格中项目的周期性,并使用它对每个项目施加边界框。

抱歉,以上建议主要基于 MATLAB;恐怕我不是opencv用户,但希望它至少能给你一些想法。

于 2011-11-17T13:17:46.200 回答