【问题标题】:Google Vision complex OCR execution with two-column text具有两列文本的 Google Vision 复杂 OCR 执行
【发布时间】:2018-05-23 04:16:04
【问题描述】:

对不起,如果这个问题之前已经在这里问过,但我找不到答案。

所以,我正在创建 C# OCR 程序以扫描商店收据。 Vision OCR DocumentTextDetection 本身可以非常准确地处理文本,但我还有其他问题:

当我扫描收据(下图中给出的模板)时,Vision OCR 在两列密集文本中表现异常。例如,我有这个收据模板格式:

响应通常是一列字符串,填充第一列的产品名称或第二列的价格。

所以通常反应的例子:

收据 产品1 产品2 产品3 9.99 A 产品4 9.99 A 12.10 安 产品5

此响应无法让我正确地将每个项目与相应的价格联系起来。

当我使用图像编辑程序(如 Photoshop)缩小产品和价格列之间的距离时,它可以正常工作并逐行扫描收据,因此我可以轻松识别哪个价格属于哪个产品。

我的问题是:您能否给我一个提示,我如何通过创建新图像以编程方式调整这两列之间的距离。或者也许更好的主意是将收据图像分离为 2 张图像,每列 1 张图像,然后分别进行 OCR?但老实说,我不知道如何识别列空间并将它们切割成新图像,所以对此有什么建议吗?

【问题讨论】:

  • 你实现了吗?可以分享一下代码吗,我也遇到了同样的问题?

标签: c# ocr image-recognition vision google-vision


【解决方案1】:

首先对图像进行二值化处理,然后使用一些图像处理算法如“形态-腐蚀”对其进行预处理,根据两列之间的空间将原始图像分成两半。如何?由于像素值在黑色区域中最低,因此在水平扫描原稿时可以识别出有下降值。最后,您可以使用 OCR 来检测数字。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 2020-08-13
  • 2016-07-24
  • 2023-03-02
  • 2018-06-13
  • 1970-01-01
相关资源
最近更新 更多