加载和保存OCR区域- c# .NET 6

本教程展示了如何使用LEADTOOLS SDK在c# . net 6控制台应用程序中加载和保存OCR区域。

概述
总结 本教程将介绍如何在c# . net 6控制台应用程序中使用OCR区域。
完成时间 30分钟
Visual Studio项目 下载教程项目(1kb)
平台 c# .NET 6控制台应用程序
IDE Visual Studio 2022
运行时目标 .NET 6或更高版本
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前加载和保存OCR区域- c# .NET 6教程。

创建项目并添加LEADTOOLS引用

从以下两个主题之一创建的项目副本开始,具体取决于平台:

如果您没有该项目,请按照相关教程中的步骤创建它。

所需要的参考资料取决于项目的目的。引用可以通过NuGet包添加。

本教程需要以下NuGet包:

有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

有两种类型的运行时许可证:

请注意

中详细介绍了添加LEADTOOLS NuGet引用和设置许可添加引用和设置License教程。

添加OCR区域代码

随着项目的创建、引用的添加和许可的设置,编码就可以开始了。

解决方案资源管理器,打开Program.cs.将下列语句添加到使用块的顶部Program.cs

c#
使用系统;使用先;使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Ocr;

控件中添加一个新方法程序类命名LoadandSaveOcrZones ().调用LoadandSaveOcrZones ()方法中的Main ()方法下面设置许可代码,如下所示。

c#
静态无效主要(字符串[]参数)如果(! InitLEAD ())控制台。WriteLine (“设置许可证错误”);其他的控制台。WriteLine ("License文件设置成功");LoadandSaveOcrZones ();

将下面的代码添加到LoadandSaveOcrZones ()方法将OCR区域加载到IOcrPage,将OCR区域属性输出到控制台,以编程方式添加新的OCR区域,然后将OCR区域导出到文件。

c#
静态无效LoadandSaveOcrZones ()使用(RasterCodecs codecs =RasterCodecs ())使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead))ocrEngine。启动(编解码器,@“C: \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”);字符串zonesFile =@" OCR区域文件路径"字符串imageFile =@"创建OCR页面的样本图像"字符串zonesOutFile =@"保存OCR区域文件的路径"//将TIFF文件加载为图像RasterImage image = ocreengine . rastercodecsinstance。负载(imageFile, 1);使用(IOcrPage ocrPage = ocrEngine。CreatePage(图片,OcrImageSharingMode.None))控制台。WriteLine ($”{ocrPage.Zones。IOcrPage创建后的分区。\n");ocrPage.LoadZones (zonesFile);控制台。WriteLine ($”{ocrPage.Zones。从文件中加载分区后计算分区。\n");foreach(OcrZone OcrZoneocrPage.Zones)intindex = ocrPage.Zones.IndexOf(ocrZone);控制台。WriteLine ("区域索引:{0}"、指数);控制台。WriteLine (Id {0}, ocrZone.Id);控制台。WriteLine ("边界{0}", ocrZone.Bounds);控制台。WriteLine (“ZoneType{0}”, ocrZone.ZoneType);控制台。WriteLine (" CharacterFilters: {0}", ocrZone.CharacterFilters);控制台。WriteLine ("----------------------------------");//添加一个额外的zone,这是我们自定义的zoneOcrZone zone =OcrZone ();区。Name =“自定义区”区。ZoneType = OcrZoneType.Text;区。边界=LeadRect(10,10, ocrPage。宽度- 20,100);ocrPage.Zones.Add(区);控制台。WriteLine ($”{ocrPage.Zones。计数}手动添加分区后的分区。\n");ocrPage.SaveZones (zonesOutFile);控制台。WriteLine ($"区域已成功保存到{zonesOutFile}");控制台。WriteLine (“按任意键退出…”);控制台。ReadKey (真正的);

处理流

要从内存流加载图像,请使用以下代码而不是直接从文件加载:

c#
RasterImage形象;字节[] imageData = File.ReadAllBytes(imageFile);使用(MemoryStream imageStream =MemoryStream (imageData))image = ocrEngine.RasterCodecsInstance.Load(imageStream);

要从内存流加载OCR区域文件,请替换ocrPage.LoadZones (zonesFile)使用以下代码:

c#
字节[] zonesData = File.ReadAllBytes(zonesFile);使用(内存流zonesStream =MemoryStream (zonesData))ocrPage.LoadZones (zonesStream);

要将OCR区域保存到内存流,请使用下面的代码代替ocrPage.SaveZones (zonesOutFile)

c#
使用(内存流zonesOutStream =MemoryStream ())ocrPage.SaveZones (zonesOutStream);

运行项目

按下运行项目F5,或选择Debug ->开始调试

如果正确地执行了这些步骤,则会出现控制台,应用程序将创建一个IOcrPage对象,从指定的文件中加载OCR区域,添加一个新的OcrZoneIOcrPage,然后以XML格式将分区导出到指定的文件路径。

总结

属性来处理OCR区域OCRZone结构。此外,我们还介绍了如何使用IOcrEngine而且IOcrPage接口。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。