识别图像中的boggle/scrabble字母

egg*_*ert 5 ocr opencv image-processing computer-vision boggle

我有兴趣识别Boggle板上的字母,可能使用openCV.字母都是相同的字体但可以旋转,因此使用标准文本识别库有点问题.另外,M和W有下划线来区分它们,Q实际上是Qu.我相当自信我可以隔离图像中的单独字母,我只是想知道如何做识别部分.

jil*_*wit 6

这取决于你需要多快.如果你可以隔离字母的正方形并旋转它,使包含字母的正方形的边是水平和垂直的,那么我建议你:

  • 将图像转换为黑/白(字母为一种颜色,其余为模具)
  • 制作所有四种可能方向上所有字母的参考图像数据集(即直立和旋转90度,180度和270度)
  • 使用模板匹配函数(如cvMatchTemplate)从数据集中为每个新图像查找最佳匹配图像.

这将需要一些时间,因此可以进行优化,但我认为它会为您提供合理的结果.如果难以使它们处于正确的方向,您还可以动态生成新输入的旋转版本,并将其与参考数据集相匹配.

如果字母有不同的比例,那么我可以想到两个选项:

  • 如果方向不是问题(即您的boggle块检测也可以将块放在正确的方向),那么您可以使用具有字母颜色的区域的边界框作为传入图片的比例的粗略指示符,并缩放与参考图像上的边界框大小相同(对于每个参考图像,这可能不同)
  • 如果方向是个问题,那么只需将缩放添加为搜索空间的参数.因此,您搜索所有旋转(0-360度)和所有合理的尺寸(您应该能够从您拥有的图像中猜出合理的范围).