如何在同一X轴坐标上获取文本块[Google Cloud Vision API]

时间:2019-03-05 20:19:12

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

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

  1. 我想取回收据的总金额,因为它知道可以作为标准在以下行中找到:TOTAL ........... 33.9货币。如何实际获得与包含“总计”的块在同一轴上的块?

  2. 对于每个单独的产品都适用相同的条件,我想获取每个单独的购物车产品的值及其值,然后将其放入Android的“编辑文本”中,以便用户进行最终修饰。

收据示例:

Shopping receipt from Mega Image

2 个答案:

答案 0 :(得分:0)

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

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

这是一个具有挑战性的研究问题。也许Vision API会为客户打开一些功能以直接了解收据。

答案 1 :(得分:0)

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

  1. 创建一个TextAnnotation中返回的所有符号的集合
  2. 遍历集合并基于检查第一个符号的X坐标(string与其他所有符号X坐标)来创建一行givenSymbol.BoundingBox.Vertices[2].X
  3. 执行检查以跳过已处理的单词并考虑实现X偏移,该偏移将检查给定的X坐标是否足够接近您要检查的X坐标,以说明输入文本稍微倾斜了。