轉帖|使用教程|編輯:黃竹雯|2016-07-12 11:19:32.000|閱讀 1002 次
概述:LEADTOOLS為.NET(C# & VB.NET)、C/C++、Java和Web開發者提供了快速且精確度高的 OCR SDK技術。本文主要為大家介紹在OCR文檔中如何處理和識別頁面以及創建具體應用程序的步驟。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LeadTools為.NET(C# & VB.NET)、C/C++、Java和Web開發者提供了快速且精確度高的 OCR SDK技術。利用LeadTools高級OCR工具包,可以快速的開發健壯的、可擴展的、高性能識別的文檔處理應用程序,這些應用程序可提取出掃描文件中的文本,將圖像轉化為文本搜索格式,如PDF、PDF/A、DOC、DOCX、XML、XPS等。LeadTools廣泛支持40余種字符集,編程者通過提供多語言的解決方案擴展用戶群,包括英語、西班牙語、法語、德語、日語、中文、阿拉伯語等。
本文主要為大家介紹在OCR文檔中如何處理和識別頁面以及創建具體應用程序的步驟。
本文概述:
OCR (Optical Character Recognition,光學字符識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程;即,對文本資料進行掃描,然后對圖像文件進行分析處理,獲取文字及版面信息的過程。
OCR的識別過程為:圖像輸入、預處理;二值化;噪聲去除;傾斜校正;版面分析;字符切割;字符識別;版面恢復;后處理,校對。
根據以下步驟,您可以輕松創建一個使用OCR識別英文的應用程序。
1. 打開Visual Studio .NET。
2. 點擊 文件->新建->項目…。
3. 打開新建項目對話框后,在模板中選擇“Visual C#”或“Visual Basic”,隨后選擇“Windows窗體應用程序”。在名稱欄中輸入項目名稱“OcrTutorial”,并使用“瀏覽”按鈕選擇您工程的存儲路徑,點擊“確定”。
4. 在“解決方案資源管理器”中,右擊“引用”,選擇“添加引用”。在“引用管理器”中,瀏覽選擇Leadtools For .NET文件夾” LEADTOOLS_INSTALLDIR\Bin\DotNet\Win32”,選擇以下的DLL:
注意:添加Leadtools.Codecs.*.dll引用后,可使用BMP、JPG、CMP、TIF和FAX圖像文件格式。如果您想使用更多的文件格式,可添加相關文件格式的codec DLL至應用程序。
5. 將Form1切換至代碼視圖,將以下代碼添加至using 部分:
using Leadtools; using Leadtools.Codecs; using Leadtools.Forms; using Leadtools.Forms.DocumentWriters; using Leadtools.Forms.Ocr; using Leadtools.ImageProcessing;
6. 將以下私有變量添加至Form1類:
private IOcrEngine _ocrEngine; private IOcrDocument _ocrDocument;
7. 將以下代碼添加至Form1的構造函數:
public Form1() { InitializeComponent(); //解鎖OCR功能,用您的密鑰替換此處 string MY_LICENSE_FILE = "d:\\temp\\TestLic.lic"; string MY_DEVELOPER_KEY = "xyz123abc"; RasterSupport.SetLicense(MY_LICENSE_FILE, MY_DEVELOPER_KEY); //初始化OCR引擎 _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false); }
8. 拖拽5個button控件至Form1。Button的名稱默認為“button1,button2…”,根據以下表格修改相應的Text屬性:
Name | Text |
---|---|
button1 | 啟動OCR引擎 |
button2 | 添加頁面 |
button3 | 刪除頁面 |
button4 | 識別文檔(英文)并保存為pdf |
button5 | 關閉OCR引擎 |
如下圖:
9. 將以下代碼添加至button1(啟動OCR引擎)按鈕的Click句柄中,啟動OCR引擎:
private void button1_Click(object sender, EventArgs e) { //啟動OCR引擎 _ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 18\Bin\Common\OcrAdvantageRuntime"); //創建文檔 _ocrDocument = _ocrEngine.DocumentManager.CreateDocument(); MessageBox.Show("OCR引擎成功啟動"); }
10. 將以下代碼添加至button2(添加頁面)的Click句柄中,將多頁的圖像文件添加至OCR文檔:
string tifFileName = Path.Combine(Application.StartupPath, @"..\..\..\Pic\Ocr.tif"); //將4個單頁的圖像Ocr1.tif、Ocr2.tif、Ocr3.tif、Ocr4.tif合并為Ocr.tif if (File.Exists(tifFileName)) File.Delete(tifFileName); using (RasterCodecs codecs = new RasterCodecs()) { for (int i = 0; i < 4; i++) { string pageFileName = Path.Combine(Application.StartupPath, string.Format("..\\..\\..\\Pic\\Ocr{0}.tif", i + 1)); using (RasterImage image = codecs.Load(pageFileName)) codecs.Save(image, tifFileName, RasterImageFormat.CcittGroup4, 1, 1, 1, -1, CodecsSavePageMode.Append); } } //將共4頁的TIF文件添加至OCR文檔 _ocrDocument.Pages.AddPages(tifFileName,1,-1,null); int pageCount = _ocrDocument.Pages.Count; // 顯示此文檔每個頁面的相關信息 string message = string.Format("總頁數為 {0}\n",pageCount); for (int i = 0; i < pageCount; i++) { message += string.Format( "第{0}頁:\n頁面大小 = {1} * {2}\n分辨率 = {3} * {4}\n每個像素的位數 = {5}\n", i+1, _ocrDocument.Pages[i].Width, _ocrDocument.Pages[i].Height, _ocrDocument.Pages[i].DpiX, _ocrDocument.Pages[i].DpiY, _ocrDocument.Pages[i].BitsPerPixel); } MessageBox.Show(message);
11. 將以下代碼添加至button3(刪除頁面)的Click句柄,從OCR文檔中移走了所有的頁面:
private void button3_Click(object sender, EventArgs e) { //從OCR文檔中移除所有添加的頁面 _ocrDocument.Pages.Clear(); MessageBox.Show("所有頁面已被移除"); }
12. 將以下代碼添加至button4(識別文檔(英文)并保存為pdf)的Click句柄,識別文檔中的英文字符,并將識別的結果保存為pdf文檔:
// 識別所有頁面 // 注意,我們不需要調用AutoZone,引擎會檢查頁面是否被分區,若無,則會自動分區 _ocrDocument.Pages.Recognize(null); // 將結果保存為PDF文件 string pdfFileName = Path.Combine(Application.StartupPath, @"..\..\..\Pic\Result.pdf"); _ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null); // 顯示我們剛剛保存的PDF文件 System.Diagnostics.Process.Start(pdfFileName);
13. 將以下代碼添加至button5(關閉OCR引擎)按鈕的Click句柄,關閉OCR引擎:
// 釋放此文檔 _ocrDocument.Dispose(); // 關閉OCR引擎 _ocrEngine.Shutdown(); MessageBox.Show("OCR引擎關閉");
此段代碼會將最終的識別結果保存為PDF文件。若您想將圖像的文字保存為文本搜索格式,可依照以下步驟:啟動OCR引擎->添加頁面->識別文檔(英文)并保存為pdf->刪除頁面->關閉OCR引擎。
14. 編譯、運行程序。結果如下圖:
DEMO下載:
文章轉自:葡萄城控件產品博客,//blog.gcpowertools.com.cn
本文提供的Demo可以高效準確的識別出文檔中的英文,為了運行此demo,歡迎查看并免費下載LeadTools試用版。
如需幫助,請聯系!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn