使用LEADTOOLS表单识别和处理引擎编程

的LEADTOOLS形式认可表单处理Engine为开发人员提供了一套全面的高级工具,以最少的编码创建表单识别和处理应用程序。它快速、准确、可靠。

概述

一般来说,a形式认可处理系统执行以下步骤:

LEAD提供以下两个级别的功能:

高层AutoFormsEngine

的LEADTOOLSAutoFormsEngine是一个优化实现的识别和处理系统。它建立在低级引擎之上,自动创建表单属性,将其与存储库中的主表单进行比较,并处理表单字段。为了加速识别和处理,LEADTOOLSAutoFormsEngine还可以利用多核处理器在设置为使用其多线程模式时的优势。的Leadtools.Forms.AutoNamespace提供了一组丰富的类、接口和方法,可以减少以下操作的实现时间:

虽然大多数ECM(企业内容管理)系统可以同时利用识别和处理,但每个识别或处理步骤都有一个非常具体的任务工作流

高级表单识别

形式认可是在没有人工干预的情况下自动识别任何未知形式的名称、类型和ID的过程。只要被识别的表单存在主表单,LEADTOOLS识别引擎就可以快速准确地将其与无限数量的预定义主表单区分开来。该引擎使用极其精确的算法来提取独特的特征(属性),并将它们存储在XML文件中。这个文件是可移植且高效的:因为不再需要为主表单存储所有原始映像,所以可以回收磁盘空间。在为您希望处理的所有表单创建主表单之后,就可以为所有表单自动化识别过程了。使用哪种来源(档案,扫描仪等)或分辨率不再重要;不管这个形状是变形的,还是电脑生成的等等,都无关紧要。

LEADTOOLS识别引擎是业界领先的识别引擎。有了它,程序员可以针对要处理的特定类型的表单对引擎进行微调。在创建主表单时需要考虑许多因素属性,包括文本、条形码和表单中的唯一对象。

LEADTOOLS创建了独特的子引擎,称为对象管理器,以处理所有这些不同的因素。一个对象管理器允许您选择在创建主表单时应该考虑的因素属性。你可以用单杯对象管理器,或一组。每个管理器都有一个独特的目的:选择合适的管理器将提高绩效和准确性形式认可。例如,如果期望所有表单都具有唯一的条形码,那么很可能只有条形码管理器是必要的。其他经理也一样,但是条形码管理器将是唯一必要的(可能节省使用其他引擎所花费的处理时间)。

除了自动创建表单属性通过不同的对象管理器,引擎可以突出显示表单中的重要信息,例如公司或表单名称。无论使用哪个对象管理器,引擎都会为您提供有关识别的全面结果,包括每个表单的置信度。的形式认可引擎提供了以下“对象管理器”:

表单识别基本上通过创建来工作FormRecognitionAttributes对象主形式和你想要认识的形状。然后运行与存储库中的主表单的比较。主形式选择基于比较返回的置信度值。如果特定比较的置信度值高于指定的最小置信度值,则停止搜索以节省不必要的表单比较的时间。以下一般步骤概述了如何在一个或多个页面上执行表单识别。

  1. 创建母版表单库指向主表单的存储位置的。
    SetLicense ();//设置包含主表单的文件夹名称字符串根=@“C: \ LEADTOOLS21 \资源\ \ \ MasterForm集形式\ OCR图像\”RasterCodecs =RasterCodecs ();DiskMasterFormsRepository repository =DiskMasterFormsRepository(编解码器、根);
    1. 创建要在Auto-Forms Engine中使用的OCR和Barcode引擎。
      //创建OCR引擎实例,并使用LEADTOOLS OCR模块- LEAD引擎ocreginengine = ocreginmanager . createengine (ocregintype . lead);//启动OCR引擎ocrEngine。启动(@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”);//创建Main BarcodeEngine实例BarcodeEngine =BarcodeEngine ();
    2. 控件创建自动表单引擎AutoFormsEngine类。
      //创建主AutoFormsEngine实例AutoFormsEngine =AutoFormsEngine(repository, ocreengine, barcodeEngine, 30,80;真正的);//设置识别选项autoEngine。RecognizeFirstPageOnly =真正的autoEngine。minimumconfenceknownform = 40;//获取要处理的文件列表字符串[] files =目录。getfile (@"C:\LEADTOOLS21\Resources\Images\Forms\Forms要被识别\OCR\"“* .tif”);//调用包含主识别进程的函数processfile (autoEngine、文件);
  2. 调用AutoEngine。运行同时识别和处理形式,或调用AutoEngine。RecognizeForm只认识形式。下面的代码显示了如何处理AutoFormsEngine类在多线程应用中:

    私人静态无效processfile (AutoFormsEngine autoEngine,字符串[]文件)控制台。WriteLine (“开始处理文件……”);//获取要处理的文件数intfileCount = files.Length;//当所有工作完成时通知我们使用AutoResetEvent =AutoResetEvent ())//循环遍历指定文件夹中的所有文件foreach字符串文件文件)//捕获文件名,因为我们使用的是匿名函数字符串fileToProcess = file;//在线程中处理它ThreadPool.QueueUserWorkItem((国家)= >试一试//显示名称字符串name = Path.GetFileName(fileToProcess);控制台。WriteLine (处理“{0}”、名称);//处理AutoFormsRunResult result = autoEngine。运行(fileToProcess);//检查结果如果(结果。形式场s !=&& result.RecognitionResult.MasterForm控制台。WriteLine (字符串.Format (" Master Form Found \"{0}\" for {1}", result.RecognitionResult.MasterForm。名称,名字));其他的控制台。WriteLine (字符串.Format (“b{0}找不到主表单”、名称));}(异常交货)控制台。WriteLine (“错误”{0}, ex.Message);}最后如果(联锁。衰减率(裁判fileCount) == 0)//完成后,通知主线程finishedEvent.Set ();}}});}//等待所有操作完成finishedEvent.WaitOne ();控制台。WriteLine (“已完成的加工文件”);}}

  3. 有关识别表单的详细大纲,请参阅识别和处理表单的步骤

  4. 生成详细的大纲主形式,参考生成主表单并将其保存到主存储库的步骤

高层形式的处理

表单处理是从表单中的预定义字段提取已填入的数据信息的过程。每个页面都定义了字段,因此可以很容易地创建由多个页面组成的表单的字段,并从所需的字段/页面提取其数据。每个字段包含以下内容属性与之相关的:

无论图像分辨率、比例或其他形式生成特征如何,都可以处理信息。无论使用哪种字段类型,引擎都会提供处理的综合结果,包括每个结果的置信度值。表单处理引擎提供了以下字段类型:

除上述预定义外类型,处理引擎允许您创建自己的自定义字段,以满足您可能拥有的任何独特需求。

如何加快识别和处理表格

  1. 的多线程情况AutoFormsEngine
  2. 在执行识别和处理时,初始化AutoFormsEngine只能使用OCR引擎,并使用LEADTOOLS OCR模块- LEAD引擎。
  3. 当执行识别而不进行处理并且所有主表单都具有不同的条形码时,则只使用Barcode引擎来生成主表单属性然后初始化AutoFormsEngine

低级表单识别

低级形式认可可以设计用于识别和表单比较的自定义算法。鉴于高层形式认可搜索满足或超过“最小值”的第一个表单信心值,低级的形式认可对存储库中的所有主表单执行搜索,以查找具有最高置信度值的表单。注意,这需要加载存储库中的所有主表单。

下面概述了在一个或多个页面上执行表单识别所涉及的一般步骤。

  1. 创建并初始化FormRecognitionEngine使用表单识别引擎类。
  2. 创建并添加所需的内容对象管理器使用RecognitionObjectsManager类。
  3. 创建主形式(或是几部)属性使用CreateMasterForm方法。
  4. 主形式使用AddMasterFormPage方法。
  5. 关闭主形式使用CloseMasterForm方法。
  6. 创建表单属性对于您想要识别的表单,使用CreateForm方法。
  7. 将Pages添加到要识别的表单中AddFormPage方法。
  8. 关闭要识别的表单CloseForm方法
  9. 比较属性对于形式要加以识别属性的每个主形态CompareForm方法。

主形式属性是否可以加载并保存到磁盘GetDataSetData方法。在大多数情况下,应该保存所有主表单属性到磁盘。然后,当识别一个填表格,加载每个主表单属性文件并将其与属性要识别的表单的,以查看哪个返回最高的置信度值。注意,搜索必须在存储库中的所有主表单上执行。有关使用表单识别的简单教程,请参阅识别的形式

低级表单处理

低级表单处理使自定义对齐和处理成为可能。下面概述了在一个或多个页面上执行表单处理所涉及的一般步骤。

  1. 创建并初始化表单处理引擎使用FormProcessingEngine类。
  2. 为每个字段添加所需的字段主形式使用TextFormFieldOMRFormFieldBarcodeFormFieldImageFormField,或自定义的用户定义字段。
  3. 控件为每个字段集合创建表单页面FormPage。AddRange方法。
  4. 控件将每个字段页添加到处理引擎中FormProcessingEngine.Pages.Add方法。
  5. 方法处理字段过程方法。这种方法需要对给定的图像进行对齐。如果形式认可还没有被执行,你知道哪一种形式被识别,叫GetFormAlignmentGetPageAlignment方法。如果已执行识别,请使用对齐财产。

属性将字段加载并保存到磁盘LoadFieldsSaveFields方法。在大多数情况下,应该将每个主表单的所有字段保存到磁盘上。然后,在处理a填表格,从文件中加载适当的表单字段,以便在FormProcessingEngine。有关使用表单处理的简单教程,请参阅处理形式

SDK的定义

属性

a的独特功能主形式用于标识填表格在表单识别过程中。

条形码管理器

对象管理器创建属性的条形码字段主形式

信心

0到100之间的值,表示对结果的置信度。值为“100”表示完全可信,值为“0”表示不可信。

默认的经理

对象管理器创建属性的唯一对象,如行和倒置文本主形式

排除地区

一个没有特征或属性必需的形式识别。

已识别表单上的预定义区域,您需要从中提取文本、条形码、复选框、图像或自定义数据。

填充数据

用户在预定义字段中添加到表单中的任何数据。使用LEADTOOLS表单处理引擎,可以从可识别的表单中提取这些数据。

填表格

一个形式包含填充数据。的形式认可表单处理引擎用于唯一地标识表单并从其字段中提取数据。

形式

表单是具有需要识别和/或处理的字段和属性的结构化文档。

形式对齐

使已识别的表单与其相应的表单对齐所必需的信息主形式

表单类别

类中类似主表单的集合或逻辑分组形式存储库。表单类别可以包含主表单和/或子类别。

表单处理

以可识别的形式从预定义字段中提取用户填充数据的过程。

形式认可

识别a的过程填表格和一个主形式

形式存储库

表单类别的存储系统。这是集合的顶层。

包括地区

具有特征或特征的地区属性必需的形式识别。

主形式

一种未填写或空白的表格,包含唯一的属性变成那种形式。主表单可以是单页的也可以是多页的。主形式属性由不同的对象管理器生成。

对象管理器

独特的子引擎生成属性对于特定的主形式

Ocr经理

类中的文本字段创建属性的对象管理器主形式

页面对齐

将已识别的表单页与控件中的相应页对齐所需的信息主形式

感兴趣的区域

这是一个非常重要的领域属性必需的形式识别。这些区域用于突出显示公司或表单名称等重要功能。

顶级^

另请参阅

LEADTOOLS成像、医疗和文档
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领先科技有限公司版权所有。