【问题标题】:How to recognize numbers in an image in Python? [closed]如何在 Python 中识别图像中的数字? [关闭]
【发布时间】:2017-11-15 17:25:47
【问题描述】:
我目前正在尝试编写一个机器人来在 tetrisfriends.com 上玩俄罗斯方块来练习机器学习,但我陷入了困境。我正在尝试找到一种从游戏中读取玩家得分的方法,但 Tesseract 无法识别字体/数字,我认为我也无法重新训练 Tesseract 以识别数字,因为它不是完整的字体使用,只是数字。
我试图从中读取数字的图像是这样的:
https://imgur.com/a/OVwV5
当我使用 Tesseract 时,我可以让它识别页面上的其他单词,而不是我需要的数字。
有没有人可以通过重新训练 Tesseract、其他方法或任何其他方式来做到这一点?
【问题讨论】:
标签:
python
opencv
machine-learning
artificial-intelligence
tesseract
【解决方案1】:
我对 Tesseract 不是特别熟悉,但这可能不是您最好的选择。如果最终目标只是制作一个机器人,您可能可以直接从应用程序中提取文本,而不用担心 OCR,但如果您想了解更多关于机器学习的知识并且您还没有完成它们,MNIST 和CIFAR-10 数据集是很好的起点。
无论如何!您尝试测试的图像对比度非常低,并且字体非常风格化。看看网站本身,字符看起来是黄色的:
如果您对图像进行预处理,使黄色像素为黑色,而所有其他像素为白色,您将拥有更清洁的来源,例如:
如果您想为此推进 Tesseract 并且预处理还不够,那么您可能必须针对此字体重新训练它。您将需要准备一个语料库,按照您期望源数据的外观对其进行处理,然后使用 qt-box-editor 之类的工具来更正数据。这个guide 应该能够引导您完成再培训的基本步骤。