我正在尝试提取放在拼字游戏板上的瓷砖(字母)。目标是识别/读取板上存在的所有可能的单词。
理想情况下,我想找到拼字游戏板的四个角,并应用透视变换,以便进一步处理。
我使用的算法如下 -
这种方法适用于这些图像。但是,正如您所看到的,许多方板都有一个底座,它在顶部和底部弯曲。有时,基地是一个大圆形板。有了这些图像,我的方法就失败了。示例图像和输出 -
董事会与圆形基地:
使用上述方法找到的积分:
我可以发布更多这样有问题的图像,但是这个图像可以让你了解我正在处理的问题。我的问题是 -
当图像中还有圆形板时,如何找到矩形板?
我想说的一些观点 -
如果需要,我愿意分享更多这样有问题的图像。谢谢!
EDIT1 @Silencer的答案对我识别图像中的字母非常有帮助,但我想准确地找到图像中单词的位置。因此,我觉得识别行和列是必要的,只有当透视变换应用于电路板时,我才能做到这一点。
我写了一篇关于MSER文本检测的答案:
Trying to Plot OpenCV's MSER regions using matplotlib
该代码会在您的图像上生成以下结果。
你可以尝试一下。
我认为@silencer已经提供了非常有前景的解决方案。
但是要执行透视变换,正如您所提到的那样,您已经尝试使用霍夫线来查找最大的矩形,但它失败了,因为存在瓷砖。
如果你有大图像数据集可能超过1000个图像,你也可以给基于深度学习的方法一个镜头,你可以训练一个模型与图像作为输入和相应的矩形边界点坐标作为输出。