如何使用区域OCR方法动态提取订单项?

时间:2018-11-08 00:51:30

标签: c# ocr tesseract

当前,我正在创建OCR应用程序。可以根据预定义的模板提取固定区域,但是由于每个发票都有不同的订单项,因此很难从扫描的发票中提取订单项。

1 个答案:

答案 0 :(得分:0)

听起来好像您正在研究从非结构化表单中动态提取信息。

术语“非结构化表单处理”是指从不具有固定结构的文档中捕获数据。非结构化表单的示例是文档,例如采购订单,发票,账单和标签。这些类型的文档具有通用模板,但是表单中的某些部分可能会有所不同,具体取决于表单中包含多少个订单项或购买的商品。

要从表单中提取数据,您将需要使用某种OCR来将图像转换为文本。如果您正在寻找开源解决方案并从发票中提取所有数据,则可以使用tesseract。我在Stack Overflow上进行了搜索,以在非结构化表单上使用Tesseract,并遇到了这些解决方案,您可以看一下:

Tesseract receipt scanning advice needed

How to extract relevant information from receipt

另一种选择是研究具有库的商业解决方案,该库可以为您解决此问题。我为LEADTOOLS工作的公司有一个Invoice Recognition and Processing库,可让您定义主数据,然后轻松地针对发票处理已填充的发票。这是发票识别和处理SDK的视频概述:

Invoice Recognition and Processing

SDK随附的发票演示的屏幕截图: invoice processing screenshot