本教程展示了如何使用LEADTOOLS SDK从c# . net 6应用程序中的给定图像中检测和提取ID卡信息。
概述 | |
---|---|
总结 | 本教程介绍了如何在c# . net 6控制台应用程序中从图像中查找和提取ID卡特性。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(1kb) |
平台 | c# .NET 6控制台应用程序 |
IDE | Visual Studio 2022 |
运行时目标 | .NET 6或更高版本 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤,熟悉创建项目和加载图像的基本步骤添加引用和设置License和加载和保存图像教程,在工作之前检测和提取身份证信息- c# .NET 6教程。
中创建的项目的副本开始加载和保存图像教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过NuGet包添加。
本教程需要以下NuGet包:
Leadtools.Document.Sdk
有关应用程序需要哪些DLL文件的完整列表,请参阅你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中详细介绍了添加LEADTOOLS NuGet引用和设置许可添加引用和设置License教程。
随着项目的创建、引用的添加、许可证的设置和加载图像代码的添加,编码就可以开始了。图像保存代码在本教程中不是必需的,因此可以将代码注释掉或删除。
在解决方案资源管理器,打开Program.cs
.将下列语句添加到使用
块的顶部Program.cs
.
使用系统;
使用Leadtools;
使用Leadtools.Codecs;
使用Leadtools.Forms.Commands;
使用Leadtools.Ocr;
控件中添加一个新方法程序
类命名ReadIDCard (RasterImage图片)
,用RasterCodecs加载样本图像并传递RasterImage
类添加到方法。
为了本教程的目的,使用以下图像:< INSTALL_DIR > \ LEADTOOLS22 \ \ \ License_SAMPLE.PNG图像资源
静态无效主要(字符串[]参数)
{
如果(! InitLEAD ())
控制台。WriteLine (“设置许可证错误”);
其他的
控制台。WriteLine ("License文件设置成功");
使用(RasterCodecs codecs =新RasterCodecs ())
{
RasterImage image =编解码器。负载(@ " < INSTALL_DIR > \ LEADTOOLS22 \ \图片资源\ License_SAMPLE.PNG”);
ReadIDCard(图片);
}
}
将下面的代码添加到ReadIDCard ()
方法来处理给定的图像,并在检测到时输出ID值。
静态无效ReadIDCard (RasterImage图片)
{
使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead))
{
varbuffer =路径。结合(@ " < INSTALL_DIR > \ LEADTOOLS22 \ Bin \常见\ OcrLEADRuntime”,“LEAD.Binarize.bin”);
ocrEngine。启动(零,零,零,零);
使用(IDFrameReader =新IDFrameReader (File.ReadAllBytes(缓冲区),ocrEngine))
{
varresults = idframerader . process (image);
如果(results.Ready)
foreach(varres在idFrameReader.Results)
控制台。WriteLine ($”{res。键}:{res。价值}”);
其他的
控制台。WriteLine ("此图像中未找到ID ");
}
}
}
如果希望使用内存流检测和提取数据,则将以下代码插入Main (string [] args)
方法:
字符串文件名=@“C: \ LEADTOOLS22 \资源\ \ License_SAMPLE.PNG图像”;
使用(RasterCodecs codecs =新RasterCodecs ())
{//通过内存流加载并提取数据
字节[] bytes = File.ReadAllBytes(filename);
使用(MemoryStream ms =新MemoryStream(字节)
{
ms.Position = 0;
/ / codecs.Load(女士);
RasterImage图像= codecs.Load(ms);
ReadIDCard(图片);
}
}
请注意
方法下的现有代码将被替换
SetLicense ()
调用。
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,将出现控制台,应用程序将检测到ID信息并将其显示到控制台。
方法加载图像并运行许可识别,本教程演示了如何使用IDFrameReader
类。