配色: 字号:
LeadTools图像处理开发教程(7):使用OCR识别图像中的中文
2023-07-16 | 阅:  转:  |  分享 
  
LeadTools中文入门教程( 7) :使用 OCR 识别图像中的

中文





本文将为大家介绍:

?

?

LeadTools 识别一页或多页文档的一般步骤 概述

使用 LeadTools 创建“使用 OCR 识别图像中的中文”应用程序的具体

步骤





LeadTools 识别一页或多页文档的一般步骤

1 选择您将要使用的引擎类型,并创建一个 IOcrEngine 接口实例。更多信息,

可参考创建 OCR 引擎实例。

2 使用 IOcrEngine.Startup 方法启动 OCR 引擎。更多信息,可参考启动和关

闭引擎。

3 创建一个一页或多页的 OCR 文档。更多信息,可参考处理 OCR 页面。

4 手动或自动的在页面上建立区域。 (此步骤是可选的。 一个页面无论有没有区

域,都是可识别的。)更多信息,可参考处理 OCR 区域。

5 可选。设置 OCR 引擎正在使用的语言(默认为英文)。更多信息,可参考处

理 OCR 页面。

6 可选。 设置拼写检查语言 (默认为英文) 。 更多信息, 可参考 OCR 拼写字典。

7 可选。 设置任意特殊的识别模块选项。 如果一个页面内包括自动或手动创建的

区域,这些选项是需要的。更多信息,可参考识别 OCR 页面 , OCR 识别模块概

述 and 在 LEADTOOLS .NET OCR 使用 OMR。

8 识别。更多信息,可参考识别 OCR 页面。

9 若需要,保存识别结果。 结果可保存为一个文件或保存至内存。更多信息, 可

参考识别 OCR 页面。

10 当结束时关闭 OCR 引擎。更多信息,可参考启动和关闭引擎 .

步骤 4、 5、 6、 7 可以以任意顺序执行,只要它们在 OCR 引擎启动后、识别页

面前执行了即可。





创建“使用 OCR 识别图像中的中文”应用程序的具体步骤

下面为您提供了” 使用 OCR 识别图像中的中文 “的示例代码。 为了运行此代码,

您需要下载 LeadTools 全功能试用版。







安装全功能试用版后,由于此应用程序要识别中文,因此在创建应用程序之前,

您还需要下载安装LeadTools OCR 语言扩展包。



安装完 OCR 语言扩展包,我们就可以开始创建“使用 OCR 识别中文”的应用

程序了,我们将最终的识别结果保存为 .docx 格式。

1. 打开 Visual Studio .NET。点击 文件 ->新建 ->项目… 。打开新建项目对

话框后,在模板中选择“ Visual C#”,随后选择“ Windows 窗体应用程

序 ”。在名称栏中输入项目名称“ SampleOcrChinese”,并使用“浏览”按

钮选择您工程的存储路径,点击“确定”。

2. 在“解决方案资源管理器”中,右击“引用”,选择“添加引用”。 根据当

前工程的 Framework 版本和生成目标平台,选择添加相应的 LeadTools 控

件,例如工程中的版本为 Framework 4.0、生成目标平台是 x86,则浏览选

择 Leadtools For .NET 文件夹”

\Bin\DotNet4\Win32” ,选择以下的 DLL

“:

?

?

?

?

?

?

?

?

?

Leadtools.dll

Leadtools.Codecs.dll

Leadtools.Codecs.Bmp.dll

Leadtools.Codecs.Cmp.dll

Leadtools.Codecs.Fax.dll

Leadtools.Codecs.Tif.dll

Leadtools.Forms.dll

Leadtools.Forms.DocumentWriters.dll

Leadtools.Forms.Ocr.dll

?

?

Leadtools.Forms.Ocr.Professional.dll

Leadtools.WinForms.dll

点击“确定”按钮,将以上所有的 DLL添加到应用程序中。



注意: 添加 Leadtools.Codecs..dll 引用后,可使用 BMP、 JPG、 CMP、 TIF

和 FAX 图像文件格式。如果您想使用更多的文件格式,可添加相关文件格式的

codec DLL至应用程序。

3. 拖拽 5 个 button 控件至 Form1。 Button 的名称默认为“ button1,

button2…”,根据以下表格修改相应的 Text属性:



Name Text

button1 启动 OCR引擎

button2 添加页面

button3 删除页面

button4 识别文档 (中文 )并保存为 Word

button5 关闭 OCR 引擎





4. 将 Form1 切换至代码视图,将以下代码添加至 using 部分:

1: using Leadtools;

2: using Leadtools.Codecs;

3: using Leadtools.Forms;

4: using Leadtools.Forms.DocumentWriters;

5: using Leadtools.Forms.Ocr;

6: using Leadtools.ImageProcessing;

7: using Leadtools.WinForms;





5. 将以下私有变量添加至 Form1 类:

1: private IOcrEngine _ocrEngine;

2: private IOcrDocument _ocrDocument;





6. 将以下代码添加至 Form1 的构造函数:

1: InitializeComponent();

2: // 解锁 OCR 功能,用您的密钥替换此处

3: string MY_LICENSE_FILE = "d:\\temp\\TestLic.lic";

4: string MY_DEVELOPER_KEY = "xyz123abc";

5: RasterSupport.SetLicense(MY_LICENSE_FILE, MY_DEVELOPER_KE

Y);

6: // 初始化 OCR 引擎

7: _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.P

rofessional, false);



7. 将以下代码添加至 button1(启动 OCR 引擎)按钮的 Click 句柄中, 启动

OCR 引擎,在此部分将识别的语言设置为中文简体 :

1: // 启动 OCR 引擎

2: _ocrEngine.Startup(null, null, null, @"D:\LEADTOOLS 18\Bin

\Common\OcrProfessionalRuntime");

3: // 创建文档

4: _ocrDocument = _ocrEngine.DocumentManager.CreateDocument

();

5: //将语言设置为中文简体,中文繁体为 "zh-Hant"

6: _ocrEngine.LanguageManager.EnableLanguages(new string[] {"

zh-Hans"});

7: MessageBox.Show("OCR 引擎成功启动 ");



8. 将以下代码添加至 button2(添加页面)的 Click 句柄中, 将单页图像文件

添加至 OCR 文档:

1: string fileName = Path.Combine(Application.StartupPath, @

"..\..\Pic\chineseImage.bmp");

2:

3: //将包含中文字符的文件添加至 OCR 文档

4: IOcrPage page = _ocrDocument.Pages.AddPage(fileName,nul

l);

5: int pageCount = _ocrDocument.Pages.Count;

6: // // 显示此页面的相关信息

7: string message = string.Format(

8: "共 {0}页 \n 最后添加的页面大小 = {1} {2}\n分辨率 = {3}

{4}\n 每个像素的位数 = {5}\n",

9: pageCount,

10: page.Width, page.Height,

11: page.DpiX, page.DpiY,

12: page.BitsPerPixel);

13: MessageBox.Show(message);



9. 将以下代码添加至 button3(删除页面)的 Click 句柄, 从 OCR 文档中移走

了所有页面 :

1: // 从 OCR 文档中移除所有添加的页面

2: _ocrDocument.Pages.Clear();

3: MessageBox.Show("所有页面已被移除 ");



10. 将以下代码添加至 button4(识别文档 (中文 )并保存为 Word)的 Click 句

柄, 识别文档中的中文字符,并将识别的结果保存为 Word文档 :

1: // 识别所有页面

2: // 注意,我们不需要调用 AutoZone,引擎会检查页面是否被分区,若

无,则会自动分区

3: _ocrDocument.Pages.Recognize(null);

4: // 将结果保存为 Word 文档

5: string wordFileName = Path.Combine(Application.StartupPat

h, @"..\..\Result\Result.docx");

6: _ocrDocument.Save(wordFileName, DocumentFormat.Docx, nul

l);

7: // 显示我们刚刚保存的 word 文件

8: System.Diagnostics.Process.Start(wordFileName);



11. 将以下代码添加至 button5(关闭 OCR 引擎) 按钮的 Click 句柄, 关闭 OCR

引擎 :

1: // 释放此文档

2: _ocrDocument.Dispose();

3: // 关闭 OCR 引擎

4: _ocrEngine.Shutdown();

5: MessageBox.Show("OCR 引擎关闭 ");

此段代码会将最终的识别结果保存为 PDF文件。 可按照依照以下步骤: 启动 OCR

引擎 ->添加页面 ->识别文档(中文)并保存为 Word->删除页面 ->关闭 OCR

引擎。



12.编译、运行程序。结果如下图:

原图像为:



运行程序识别过程的截图如下:

















献花(0)
+1
(本文系考试资料文...原创)