Google Cloud Vision - 数字和数字 OCR

Google Cloud Vision - Numbers and Numerals OCR

我一直在尝试使用 Python 实现 OCR 程序,该程序读取具有特定格式 XXX-XXX 的数字。我使用了 Google 的 Cloud Vision API 文本识别,但结果不可靠。在 30 张高对比度 1280 x 1024 bmp 图像中,只有少数图像输出正确,或者至少在结果中包含了正确的输出。该程序往往会省略一些数字、以非英语语言输出或潜入一些特殊字符。

目标是至少连续输出正确的数字,结果是否散布其他垃圾无关紧要。有没有办法帮助程序更好地识别数字,例如将结果限制为特定格式,或仅限于数字?

目前无法向 Vision API 请求添加约束或提供特定的预期数字格式,如前所述 here(由 Cloud Vision 的项目经理 API).

您还可以检查所有可能的请求参数(在API reference中),none指示任何指定数字格式。目前只有选项:

  • latLongRect: 指定图像的位置
  • languageHints:指示 text_detection 的预期语言(支持的语言列表 here

我假设您已经检查了多个响应(包含不同的图像区域)以查看是否可以使用不同数字的位置来重建文本?

请注意,Vision API 和 text_detection 并未专门针对您的数据进行优化,如果您有大量带注释的数据,也可以选择使用张量流。 This blogpost explains a system setup to detect number plates (with a specific number format). All the code is available on Github 这个问题似乎与你的问题很相关。

我无法告诉你为什么会这样,也许这与语言的阅读方式有关,o vs 0,l vs 1,等等。但是每当我使用 OCR 并且我专门寻找数字时,我已阅读将检测语言设置为 "Korean"。它对我来说效果非常好,并且极大地影响了准确性。