我正在寻找一种有效的方法来检测数字周围的小方框(见图片)? 我已经尝试过使用hough转换但没有成功。有任何想法吗?我需要一些提示!我正在使用opencv ...
答案 0 :(得分:4)
获取灵感,你可以看一下
或者,如果你总是寻找相同的网格,你可以部署这样的东西:
x = Ax'
。然后可以使用该变换将模板网格映射到目标图像上。至少,这将为您提供一些先验信息,以帮助指导进一步细分。 可以在Zissermans书籍Multiple View Geometry in Computer Vision和Peter Kovesi
的网站上找到关于仿射矩阵A
估计的想法和示例的要点。
答案 1 :(得分:0)
我首先尝试检测整个纸张的矩形边界,然后应用透视变换使其成为真正的矩形。裁剪掉那部分图像。如果可能,那么尝试使交替的白色和灰色子矩形具有相同的背景亮度 - 也许尝试adaptive histogram equalization。
然后Hough变换可能表现更好。或者,您可以采用与Robert Bemis在MATLAB Central上大致类似于this demonstration的方法(它分析DNA微阵列图像而不是Lotto卡,但它实际上是在网格中找到排列的项目框)。在较高的层次上,方法是计算沿像素列和行的自相关,以检测网格中项目的周期性,并使用它来对每个项目施加边界框。
很抱歉,上述建议主要是基于MATLAB的;我担心我不是一个opencv用户,但希望它至少会给你一些想法。