【问题标题】:Google Cloud Vision - Numbers and Numerals OCRGoogle Cloud Vision - 数字和数字 OCR
【发布时间】:2017-01-25 05:29:47
【问题描述】:
我一直在尝试使用 Python 实现一个 OCR 程序,该程序可以读取特定格式 XXX-XXX 的数字。我使用了 Google 的 Cloud Vision API Text Recognition,但结果不可靠。在 30 张高对比度 1280 x 1024 bmp 图像中,只有少数得到了正确的输出,或者至少在结果中包含了正确的输出。该程序倾向于省略一些数字,以非英语语言输出或潜入一些特殊字符。
目标是至少连续输出正确的数字,不管结果是否被其他垃圾所覆盖。有没有办法帮助程序更好地识别数字,例如将结果限制为特定格式或仅限数字?
【问题讨论】:
标签:
python
ocr
google-cloud-platform
google-cloud-vision
text-recognition
【解决方案1】:
我无法告诉你为什么会这样,也许它与语言的阅读方式有关,o vs 0,l vs 1 等。但是每当我使用 OCR 并且我专门寻找数字时,我都有阅读以将检测语言设置为“韩语”。它对我来说效果非常好,并且对准确性有很大影响。
【解决方案2】:
目前无法为 Vision API 请求添加约束或提供特定的预期数字格式,如 here 所述(由 Cloud Vision API 的项目经理提供)。
您还可以检查所有可能的请求参数(在API reference 中),无表示任何指定数字格式的内容。目前只能选择:
- latLongRect:指定图片的位置
- languageHints:表示
text_detection 的预期语言(支持的语言列表here)
我假设您已经检查了多个响应(包含不同的图像区域),看看您是否可以使用不同数字的位置重建文本?
请注意,Vision API 和 text_detection 并未专门针对您的数据进行优化,如果您有大量带注释的数据,也可以选择使用 Tensorflow 实际构建自己的模型。 This blogpost 解释了用于检测车牌(具有特定数字格式)的系统设置。所有代码都可以在Github 上找到,问题似乎与您的问题非常相关。