【问题标题】:How to get a block of text on same X axis coordinate [Google Cloud Vision API]如何在同一 X 轴坐标上获取文本块 [Google Cloud Vision API]
【发布时间】:2019-03-05 20:19:11
【问题描述】:

所以我正在尝试在 Android 中实现一个个人项目,您可以在其中扫描来自购物中心的不同收据。我想提出一个模块,通过自动化尽可能多的活动来帮助用户的手动输入。情况是:

  1. 我想获取收据的总和,知道作为标准,它可以在这样的一行中找到:TOTAL............ 33.9 Currency。我如何才能真正获得与包含“Total”的块在同一轴上的块?

  2. 同样的事情适用于每个单独的产品,我想获取每个单独的购物车产品的值及其值并将其放入 Android 中的编辑文本中,以便用户可以进行最后的重新修饰。

收据示例:

Shopping receipt from Mega Image

【问题讨论】:

  • 不幸的是,它不支持我的语言。因此,结果并不准确:/

标签: android machine-learning ocr google-cloud-vision


【解决方案1】:

这看起来像是一个项目构想,而不是编码问题。

我建议的一件事是从边界框的相对位置猜测块。

不过,这是一个具有挑战性的研究问题。或许Vision API会开放一些功能让客户直接了解收据。

【讨论】:

    【解决方案2】:

    要逐行获取文本,您需要设置一个自定义逻辑,该逻辑将根据 Google Vision API 返回的符号处理行,这可以按照以下步骤进行:

    1. 创建TextAnnotation 中返回的所有符号的集合
    2. 遍历集合并根据检查第一个符号的 X 坐标(即 givenSymbol.BoundingBox.Vertices[2].X)与所有其他符号的 X 坐标创建一条线 string
    3. 实施检查以跳过已处理的单词并考虑实施 X 偏移,以检查给定的 X 坐标是否与您要检查的坐标足够接近,以解决略微倾斜的输入文本。

    【讨论】:

      猜你喜欢
      • 2019-05-25
      • 2019-02-05
      • 2020-03-20
      • 2016-03-15
      • 2022-01-20
      • 2022-08-03
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      相关资源
      最近更新 更多