LEADTOOLS使用教程:自动识别和处理表格
LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过20多年的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位,在数码图象开发工具领域中已成为既定的全球领导者。LEADTOOLS开发与发布的LEAD是屡获殊荣的开发工具包。
本文主要介绍通过LEADTOOLS 识别SDK技术,可以解决在表单扫描过程扫描仪可能产生噪音以及其他的问题。
LEADTOOLS中包含表单识别和处理SDK技术的产品有,LEADTOOLS Recognition Imaging Developer Toolkit、LEADTOOLS Document Imaging Developer Toolkit。
处理表格和发票是许多公司日常工作流程的很大一部分。当某人填写表格副本并将其扫描回公司时,则需要提取该信息。许多OCR引擎都在努力提取此信息,因为表单的扫描分辨率可能比原始表单低,扫描仪可能会产生噪音,或者字段可能是非结构化的且动态生成的。值得庆幸的是,LEADTOOLS Forms Recognition SDK可以解决所有这些问题,并且不需要任何其他手动处理。这些先进的表单识别和OCR库由LEAD的专利机器学习算法提供支持,可以处理结构化和非结构化表格,可以帮助公司节省宝贵的时间和金钱。
快速准确的表单识别的主要组件来自两个LEADTOOLS引擎,AutoFormsEngine和和IOcrEngine。AutoFormsEngine提供了高级的表单识别和处理能力,以识别、处理和创建表单,而IOcrEngine是LEADTOOLS提供的所有OCR功能的切入点。
下面的代码显示了运行.NET表单识别和OCR应用程序所需的核心。
// Add these global members
static AutoFormsEngine autoEngine;
static RasterCodecs codecs;
static IOcrEngine ocrEngine;
static DiskMasterFormsRepository formsRepository;
// Initialize the Engines
static void InitFormsEngines()
{
codecs = new RasterCodecs();
ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, false);
ocrEngine.Startup(codecs, null, null, @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime");
formsRepository = new DiskMasterFormsRepository(codecs, @"C:\Users\Public\Documents LEADTOOLS Images\Forms\MasterForm Sets\OCR");
autoEngine = new AutoFormsEngine(formsRepository, ocrEngine, null,
AutoFormsRecognitionManager.Default | AutoFormsRecognitionManager.Ocr, 30, 80, true);
}
// Recognize and Process a Form
static void RecognizeAndProcessForm()
{
string resultMessage = "Form not recognized";
string formToRecognize = @"C:\Users\Public\Documents\LEADTOOLS Images\Forms\Forms to be Recognized OCR\W9_OCR_Filled.tif";
AutoFormsRunResult runResult = autoEngine.Run(formToRecognize, null);
if (runResult != null)
{
FormRecognitionResult recognitionResult = runResult.RecognitionResult.Result;
resultMessage = $@"This form has been recognized as a
{runResult.RecognitionResult.MasterForm.Name} with {recognitionResult.Confidence} confidence.";
}
Console.WriteLine("Recognition Results:");
Console.WriteLine("=========================================================================");
ShowProcessedResults(runResult);
}
// Print the output of the results
private static void ShowProcessedResults(AutoFormsRunResult runResult)
{
string resultsMessage = "";
foreach (FormPage formPage in runResult.FormFields)
foreach (FormField field in formPage)
if (field != null)
resultsMessage = $"{resultsMessage}{field.Name} =
{(field.Result as TextFormFieldResult).Text}\n";
Console.WriteLine("Field Processing Results:");
Console.WriteLine(resultsMessage);
}
如果要自己进行测试,请确保从我们网站直接获得最新的LEADTOOLS SDK安装包,让您免费体验!
相关内容推荐: