使用 Tesseract 进行数字识别 python

Digit Recognition with Tesseract python

对于我正在进行的项目之一,我正在尝试使用 OCR 检测食物托盘图像上的数字。为此,我在 python 中使用了 Tesseract 4。但它无法正确检测我拥有的大多数图像的数字。我尝试了各种图像预处理,例如使用 OpenCV 进行模糊、阈值、锐化、腐蚀和膨胀以提高准确性。但似乎没有任何效果。我是计算机视觉的新手,所以对此的任何建议或替代解决方案都会有很大帮助。我已将图片附在下面的 link 中。提前致谢。

Link to Images

您需要更强的文本检测,它会为您裁剪文本候选区域。

处理起来会稍微复杂一点:

  1. 运行文本检测,得到文本候选区域
  2. 提取该区域
  3. 使用tesseract阅读文字

在 OpenCV 的 DNN 模块中有一个很棒的文本检测脚本,名为:text_detection.py,它用于 EAST 文本检测。使用您的示例图像,我可以在绿色矩形中提取以下文本候选区域。所以接下来就是上面的第2步和第3步了

当然,EAST 没有针对您的场景进行训练,因此 100% 的准确度是不可能的。您可以尝试收集数据并为您的场景训练 EAST。但我认为,默认的会给你超过 90% 的准确率。

希望对您有所帮助。