【问题标题】:How to scan bill receipt from android phone and get data from it?如何从安卓手机扫描账单收据并从中获取数据?
【发布时间】:2017-07-14 22:30:12
【问题描述】:

我正在扫描账单收据以从中获取重要数据,例如餐厅名称、日期、总价、税金等。但没有得到任何合适的解决方案。参考 Play 商店应用名称“收据银行”

【问题讨论】:

  • 您确定所有餐厅都有相同的收据结构吗?在任何情况下,您都需要对配方进行 OCR,并从中获取特定位置的文本。
  • 无收据结构不一样。请参阅 Play 商店的收据银行应用程序。我必须做同样的事情。

标签: android ocr


【解决方案1】:

与其他人指出的类似,您需要使用一种称为 OCR(光学字符识别)的技术来处理收据并将其转换为可用文本。那里已经有几个很好的库,选择一个将取决于您的限制(时间、金钱等)。我不建议在这里重新发明轮子并尝试自己的 OCR 库。

请参阅this answer,获取更详细的库列表。

对于懒惰的人,这里是链接中的建议。

如果您有充足的时间但预算为零 - 您的选择是 Tesseract。绝对是开源中最好的

如果您的预算很少,并且您只需要运行一次此识别 - Cloud OCR API 服务将是您的最佳选择。它基于领先的商业级 OCR 引擎,并提供相当实惠的每个项目价格。免责声明:我为 ABBYY 工作

如果您需要将此识别作为持续过程永远运行,那么您可能会认为购买专用转换软件在经济上更有效,例如this one,它具有 API 并且也可以从 Java 调用。但实际上有很多选择,如果您准备在许可上投入一些预算。

一旦您集成了库,您就可以自己编写逻辑来添加 OCR 库返回的值并将它们显示给您的用户。在您选择要使用的 OCR 库之前,我无法让您更深入地了解如何执行此操作,因为它高度依赖于库的输出格式。

【讨论】:

  • 感谢@Kevin,但 ABBYY OCR 存在一些国家/地区问题。
  • @RishabhGupta,还有其他几个选项。我有使用过 Tesseract 的同事。快速谷歌搜索出现this Android specific library 使用它。
【解决方案2】:

如果您的意思是使用 Android 相机扫描条形码?我会告诉你我对你的问题的了解

我建议对流程进行以下改进

  1. Carete 数据库表包含您希望在账单中使用主键的所有信息,主键将是相机扫描的条形码

  2. 当您扫描条形码时,您实际上会扫描主键以获取有关账单的信息,例如(餐厅名称等)

  3. 小查询将为您提供账单中所需的所有信息

【讨论】:

  • 不,我不是在扫描条形码,而是在扫描收据文本。收据上没有任何栏。
  • 您打算如何处理扫描的数据?你要储存它吗?或将其传递给带有数据库的电脑?您的问题需要更加具体和明确
  • 存储是次要的。但是是的,我要将数据存储在数据库中。但问题是如何获取所有数据。请从 Play 商店查看收据银行应用程序,所有疑问都会被清除。 play.google.com/store/apps/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 2011-08-05
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多