LEADTOOLS使用教程:自動(dòng)識(shí)別和處理表格
LEADTOOLS (Lead Technology)由Moe Daher and Rich Little創(chuàng)建于1990年,其總部設(shè)在北卡羅來(lái)納州夏洛特。LEAD的建立是為了使Daher先生在數(shù)碼圖象與壓縮技術(shù)領(lǐng)域的發(fā)明面向市場(chǎng)。在過(guò)去超過(guò)20多年的發(fā)展歷程中,LEAD以其在全世界主要國(guó)家中占有的市場(chǎng)領(lǐng)導(dǎo)地位,在數(shù)碼圖象開(kāi)發(fā)工具領(lǐng)域中已成為既定的全球領(lǐng)導(dǎo)者。LEADTOOLS開(kāi)發(fā)與發(fā)布的LEAD是屢獲殊榮的開(kāi)發(fā)工具包。
本文主要介紹通過(guò)LEADTOOLS 識(shí)別SDK技術(shù),可以解決在表單掃描過(guò)程掃描儀可能產(chǎn)生噪音以及其他的問(wèn)題。
LEADTOOLS中包含表單識(shí)別和處理SDK技術(shù)的產(chǎn)品有,LEADTOOLS Recognition Imaging Developer Toolkit、LEADTOOLS Document Imaging Developer Toolkit。
處理表格和發(fā)票是許多公司日常工作流程的很大一部分。當(dāng)某人填寫(xiě)表格副本并將其掃描回公司時(shí),則需要提取該信息。許多OCR引擎都在努力提取此信息,因?yàn)楸韱蔚膾呙璺直媛士赡鼙仍急韱蔚?,掃描儀可能會(huì)產(chǎn)生噪音,或者字段可能是非結(jié)構(gòu)化的且動(dòng)態(tài)生成的。值得慶幸的是,LEADTOOLS Forms Recognition SDK可以解決所有這些問(wèn)題,并且不需要任何其他手動(dòng)處理。這些先進(jìn)的表單識(shí)別和OCR庫(kù)由LEAD的專利機(jī)器學(xué)習(xí)算法提供支持,可以處理結(jié)構(gòu)化和非結(jié)構(gòu)化表格,可以幫助公司節(jié)省寶貴的時(shí)間和金錢。
快速準(zhǔn)確的表單識(shí)別的主要組件來(lái)自兩個(gè)LEADTOOLS引擎,AutoFormsEngine和和IOcrEngine。AutoFormsEngine提供了高級(jí)的表單識(shí)別和處理能力,以識(shí)別、處理和創(chuàng)建表單,而IOcrEngine是LEADTOOLS提供的所有OCR功能的切入點(diǎn)。
下面的代碼顯示了運(yùn)行.NET表單識(shí)別和OCR應(yīng)用程序所需的核心。
// 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);
}
如果要自己進(jìn)行測(cè)試,請(qǐng)確保從我們網(wǎng)站直接獲得最新的LEADTOOLS SDK安裝包,讓您免費(fèi)體驗(yàn)!
相關(guān)內(nèi)容推薦: