原創|使用教程|編輯:龔雪|2013-11-05 10:08:44.000|閱讀 873 次
概述:在表單識別過程中,對齊對表單識別的準確性起著至關重要的作用,因為表單字段被置于主表單上一個非常特殊的位置上面??此撇顒e細小的幾個像素卻足以影響到光學文字識別(OCR)或光學標記識別(OMR)引擎的準確度。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
由于涉及到無數變量和因素,因此表單識別和處理是一項非常復雜的過程。在表單識別過程中,對齊對表單識別的準確性起著至關重要的作用,因為表單字段被置于主表單上一個非常特殊的位置上面。看似差別細小的幾個像素卻足以影響到光學文字識別(OCR)或光學標記識別(OMR)引擎的準確度。
采用LEADTOOLS自動糾偏
表單對齊主要包含以下4方面的問題::斜偏,頁邊距,掃描分辨率和非線性變形。 LEADTOOLS憑借其在文檔成像領域的經驗和研究,可以輕松幫助開發人員糾正掃描文件對齊的問題。最重要的是,只需要幾行簡單的代碼就可以實現糾偏。
// 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) { // ... } } }
傾斜角
如果你掃描過文檔,你一定知道紙張并不總是平鋪或者垂直。由于定義表單字段的區域是矩形,因此填充文本很難適應約束區。Leadtools提供一個非常合適的傾斜角度,字段仍然可以處于其盒子中。
頁邊距
當左上角位置不正確時,會增加或者減少掃描文檔的頁邊距,左右上下移動原始文檔。平板式掃描儀比自動文檔進紙器更容易出現頁邊距的問題。
掃描分辨率
掃描分辨率在表單對齊中也扮演著一個重要角色。掃描文檔的DPI(點/寸像素)設置了坐標系,它可以區分不同的掃描分辨率。
非線性變形
由于掃描儀不同,可能導致文件的某些區域不同程序的拉伸和收縮,而其他顯示正常。導致該問題的最常見的原因是ADF速度差異。當一個文件被送入掃描儀時,feeder 開始時很緩慢,然后逐漸達到全速,甚至有些掃描儀在掃描結束時才減速,從而引起非線性變形。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網