LEADTOOLS使用教程:表單識(shí)別的自動(dòng)對(duì)齊
由于涉及到無(wú)數(shù)變量和因素,因此表單識(shí)別和處理是一項(xiàng)非常復(fù)雜的過(guò)程。在表單識(shí)別過(guò)程中,對(duì)齊對(duì)表單識(shí)別的準(zhǔn)確性起著至關(guān)重要的作用,因?yàn)楸韱巫侄伪恢糜谥鞅韱紊弦粋€(gè)非常特殊的位置上面。看似差別細(xì)小的幾個(gè)像素卻足以影響到光學(xué)文字識(shí)別(OCR)或光學(xué)標(biāo)記識(shí)別(OMR)引擎的準(zhǔn)確度。
采用LEADTOOLS自動(dòng)糾偏
表單對(duì)齊主要包含以下4方面的問(wèn)題::斜偏,頁(yè)邊距,掃描分辨率和非線(xiàn)性變形。 LEADTOOLS憑借其在文檔成像領(lǐng)域的經(jīng)驗(yàn)和研究,可以輕松幫助開(kāi)發(fā)人員糾正掃描文件對(duì)齊的問(wèn)題。最重要的是,只需要幾行簡(jiǎn)單的代碼就可以實(shí)現(xiàn)糾偏。
// Create an OCR Engine for each processor on the machine. This // allows for optimal use of thread during recognition and processing. ocrEngines = new List<IOcrEngine>(); for (int i = 0; i < Environment.ProcessorCount; i++) { ocrEngines.Add(OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false)); ocrEngines[i].Startup(formsCodec, null, String.Empty, String.Empty); } // Point repository to directory with existing master forms formsRepository = new DiskMasterFormsRepository(formsCodec, _MasterFormFolder); autoEngine = new AutoFormsEngine(formsRepository, ocrEngines, null, AutoFormsRecognitionManager.Default | AutoFormsRecognitionManager.Ocr, 30, 70, true); // Run the forms recognition on this document AutoFormsRunResult runResult = autoEngine.Run(document, null); if (runResult != null) { // Process the recognized form and extract desired info foreach (FormPage formPage in runResult.FormFields) { foreach (FormField field in formPage) { // ... } } }
傾斜角
如果你掃描過(guò)文檔,你一定知道紙張并不總是平鋪或者垂直。由于定義表單字段的區(qū)域是矩形,因此填充文本很難適應(yīng)約束區(qū)。Leadtools提供一個(gè)非常合適的傾斜角度,字段仍然可以處于其盒子中。
頁(yè)邊距
當(dāng)左上角位置不正確時(shí),會(huì)增加或者減少掃描文檔的頁(yè)邊距,左右上下移動(dòng)原始文檔。平板式掃描儀比自動(dòng)文檔進(jìn)紙器更容易出現(xiàn)頁(yè)邊距的問(wèn)題。
掃描分辨率
掃描分辨率在表單對(duì)齊中也扮演著一個(gè)重要角色。掃描文檔的DPI(點(diǎn)/寸像素)設(shè)置了坐標(biāo)系,它可以區(qū)分不同的掃描分辨率。
非線(xiàn)性變形
由于掃描儀不同,可能導(dǎo)致文件的某些區(qū)域不同程序的拉伸和收縮,而其他顯示正常。導(dǎo)致該問(wèn)題的最常見(jiàn)的原因是ADF速度差異。當(dāng)一個(gè)文件被送入掃描儀時(shí),feeder 開(kāi)始時(shí)很緩慢,然后逐漸達(dá)到全速,甚至有些掃描儀在掃描結(jié)束時(shí)才減速,從而引起非線(xiàn)性變形。
.>>>LEADTOOLS典型案例-OMR智能閱卷系統(tǒng)