使用 IRONOCR

如何使用C#通过OCR读取身份证件

发布 2024年三月26日
分享:

介绍

光学字符识别(光学字符识别)从图像中自动提取文本的技术已成为一种宝贵的工具,可实现高效的数据检索和分析,避免人为错误。 该技术可用于读取驾驶执照、护照、机构官方文件、身份证、居留证卡以及多种语言和不同国家的旅行证件的准确到期日期、国籍出生日期等信息。所有提取的数据都可以进一步输入机器学习和人工智能软件产品。

在本文中,我们将探讨如何利用IronOCR的一个功能强大的 C# OCR 库。铁软件能够阅读和提取身份文件中的信息。 IronOCR对于希望将 OCR 软件功能集成到其应用程序中的开发人员来说,.NET、Java、Python 或 Node.js 是一个绝佳的选择。

IronOCR计算机能够识别和提取图像中的文本、扫描现有文档或任何其他文本的可视化表示。 要提取数据,需要经过一系列复杂的过程,模仿人类通过视觉感知和解读文本的方式。 这一过程包括图像预处理、文本检测、字符分割、特征提取、字符识别和纠正错误的后处理。

如何在 C# 中使用 OCR 阅读身份证件;

  1. 在 Visual Studio 中创建一个新的 C# 项目

  2. 安装IronOCR您可以将.NET 库添加到您的项目中。

  3. 使用IronOCR图书馆

  4. 从 PDF 阅读身份文件。

    IronOCR由 Iron Software 制作和维护,是 C# 软件工程师的一个功能强大的库,有助于在 .NET 项目中进行 OCR、条形码扫描和文本提取。

IronOCR 的主要功能

文本阅读多样性

能够从包括图像在内的各种格式中读取相关数据(JPEG、PNG、GIFF、TIFF、BMP)流和 PDF 文件。

图像增强

通过一系列滤镜(如纠偏、去噪、二值化、增强分辨率、放大等)纠正低质量扫描和照片。

条形码识别

支持读取各种格式的条形码,包括 20 多种条形码类型,并增加了 QR 码识别功能。

Tesseract OCR 集成

使用 Tesseract OCR 的最新版本,在从图像中提取文本时经过微调以获得最佳性能。

灵活的输出选项

允许从图像文件中导出可搜索的 PDF、HTML 和文本内容,灵活管理提取的信息。

现在,让我们深入了解利用 IronOCR 阅读 ID 文档的演示应用程序的开发过程。

先决条件

  1. Visual Studio: 确保您拥有Visual Studio或安装的任何其他 C# 开发环境。

  2. NuGet 软件包管理器: 确保您可以使用 NuGet 管理项目中的软件包

步骤 1:在 Visual Studio 中创建一个新的 C#; 项目

首先在 Visual Studio 中创建一个全新的 C# 控制台应用程序,或者利用现有项目。 从菜单中选择添加新项目,然后从下面的模板中选择控制台应用程序。

如何在 C# 中使用 OCR 阅读身份证件:图 1

请在以下窗口中提供项目名称和位置

如何在 C# 中使用 OCR 阅读身份证件:图 2

选择所需的 .NET 版本

如何在 C# 中使用 OCR 阅读身份证件:图 3

单击 "创建 "按钮创建新项目。

第 2 步:安装 IronOCR 库并将其添加到您的项目中。

IronOCR可以在NuGet软件包管理器,并可使用以下命令在命令提示符下进行安装。

如何在 C# 中使用 OCR 阅读身份证件:图 4

IronOCR可使用 Visual Studio 安装。 打开 NuGet 软件包管理器并搜索IronOCR喜欢以下内容并点击安装

如何在 C# 中使用 OCR 阅读身份证件:图 5

安装完成后,应用程序即可使用IronOCR可读取任何身份证件进行数据提取和身份验证,从而减少人工数据录入工作。

步骤 3:使用 IronOCR 库阅读身份文件图像

使用 OCR 处理身份证件涉及许多步骤,下面将详细介绍。

图像预处理

OCR ID 文档处理从获取包含文本的图像开始。 该图像可以是扫描的身份证件、身份证照片或任何其他文本的视觉呈现。 身份证预处理步骤可能包括调整大小、降噪和增强,以提高图像的质量和清晰度。

文本检测

OCR 算法需要定位图像中存在文本的特定数据区域。 这一步涉及识别文本区域或边界框。

字符分割

一旦识别出文本区域或数据字段,就需要进一步分析图像以分割单个字符。 这一步对于使用不同字符的语言(如英语或中文)至关重要。

特征提取

OCR 算法分析分割的字符,提取有助于区分不同字符的特征。 这些特征可能包括笔画模式、形状和元素之间的空间关系。

字符识别

根据提取的特征,OCR 算法会对每个分割的字符进行分类,并为其分配相应的文本表示。 在这一步骤中,通常会使用神经网络等机器学习模型。

后期处理

被识别的字符可能需要经过后期处理,以纠正错误或提高准确性。 这一步骤可能涉及字典修正、上下文分析或语言建模。

IronOCR该库负责上述所有步骤,让我们只需几行代码就能执行 OCR,从而节省了耗时的繁琐工作。

using IronOcr;
class Program
{
    public static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false,
                BlackListCharacters = "`ë
^",
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
            }
        };
        using var ocrInput = new OcrInput("id1.png");
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
class Program
{
    public static void Main()
    {
        IronTesseract ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false,
                BlackListCharacters = "`ë
^",
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
            }
        };
        using var ocrInput = new OcrInput("id1.png");
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Friend Class Program
	Public Shared Sub Main()
		Dim ocrTesseract As New IronTesseract() With {
			.Language = OcrLanguage.EnglishBest,
			.Configuration = New TesseractConfiguration() With {
				.ReadBarCodes = False,
				.BlackListCharacters = "`ë ^",
				.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
			}
		}
		Dim ocrInput As New OcrInput("id1.png")
		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
VB   C#

输入图像

以下是作为程序输入的图片样本

如何在 C# 中使用 OCR 阅读身份证件:图 6

输出

如何在 C# 中使用 OCR 阅读身份证件:图 7

代码解释

上述代码使用IronOCR在图书馆中阅读 ID 文档中的所有文本字段。 我们使用的IronTesseract类来自于IronOCR在翻译过程中,您必须使用英语和一些黑名单字符。 然后,我们使用 OcrInput 类声明 OCR 输入,然后从图像中读取文本。 提取的文本字段可以在控制台输出中看到。

第四步:从 PDF 阅读身份文件。

我们也可以阅读 PDF 文档。 为此,我们可以使用IronPDF库来自 IronSoftware。 首先,像下面这样安装库

如何在 C# 中使用 OCR 阅读身份证件:图 8

using IronOcr;
using IronPdf;
class Program
{
    public static void Main()
    {
        var pdfReader = new PdfDocument("id1.pdf");
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
using IronOcr;
using IronPdf;
class Program
{
    public static void Main()
    {
        var pdfReader = new PdfDocument("id1.pdf");
        var ocrTesseract = new IronTesseract();
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);
        var ocrResult = ocrTesseract.Read(ocrInput);
        Console.WriteLine(ocrResult.Text);
    }
}
Imports IronOcr
Imports IronPdf
Friend Class Program
	Public Shared Sub Main()
		Dim pdfReader = New PdfDocument("id1.pdf")
		Dim ocrTesseract = New IronTesseract()
		Dim ocrInput As New OcrInput()
		ocrInput.AddPdf(pdfReader.Stream)
		Dim ocrResult = ocrTesseract.Read(ocrInput)
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
VB   C#

上述代码使用 IronPDF 加载 id.PDF 文档,并将该 PDF 作为数据流传递给 OcrInputocrTesseract

输出

如何在 C# 中使用 OCR 阅读身份证件:图 9

许可(可免费试用)

IronOCR. 此密钥需要放在 appsettings.json. 中。

"IRONOCR-LICENSE-KEY": "your license key"
"IRONOCR-LICENSE-KEY": "your license key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IRONOCR-LICENSE-KEY": "your license key"
VB   C#

提供用户电子邮件 ID 以获取试用许可证。

如何在 C# 中使用 OCR 阅读身份证件:图 10

使用案例

1.金融服务中的身份验证:

使用案例:银行和金融机构在客户入职和 KYC 流程中使用 OCR 阅读身份证件,如护照、驾照和身份证。

优点确保账户创建、贷款申请和其他金融交易的身份验证准确高效。

2.边境管制和移民:

使用案例:移民局在边境检查站使用 OCR 技术读取和验证护照和签证上的信息。

优点简化移民流程,提高安全性,减少手动数据输入错误。

3.访问控制和安全性:

使用案例:OCR 用于门禁控制系统,从身份证、员工徽章或面部识别扫描中读取信息,以便安全进入建筑物或禁区。

优势:确保只有经授权的人才能访问,并提供输入的数字记录,从而提高安全性。

4.电子政务服务:

使用案例:政府机构使用 OCR 处理和验证在线提交的身份证件,以提供驾驶执照更新、报税和许可证申请等服务。

优点提高效率,减少文书工作,提升市民的整体体验。

5.医疗保健身份验证:

使用案例:医疗保健提供商使用 OCR 读取患者身份证、保险卡和其他身份文件中的信息,以准确保存患者记录。

优点便于准确识别病人,确保正确的病历管理,并支持计费流程。

6.自动酒店入住:

使用案例:酒店通过扫描客人的身份证件来实现 OCR 自动化入住流程,从而简化登记流程。

优点提升客人体验,缩短入住时间,最大限度地减少捕捉客人信息时的错误。

7.智能城市和公共服务:

使用案例:OCR 被应用于智慧城市计划,用于读取身份文件,以提供公共交通访问、图书馆会员资格和城市活动注册等服务。

益处:提高公共服务的效率,促进无缝接入,提升城市生活体验。

8.教育管理:

使用案例:教育机构在学生入学、考试和颁发学历证书时使用 OCR 处理和验证身份证件。

优点确保准确的学生记录,减轻行政负担,提高学术流程的完整性。

结论

使用 C# 将 OCR 技术集成到您的 C# 应用程序中IronOCR您还可以通过 "ID "工具有效地从 ID 文档中提取信息。 本综合指南提供了建立项目和使用以下工具的必要步骤IronOCR阅读和处理身份文件图像。 使用代码示例进行实验,根据您的具体要求定制提取过程,为处理身份文档数据提供无缝和自动化的解决方案。

< 前一页
如何在 C# 中创建字符识别
下一步 >
如何在C#中创建OCR收据扫描器

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 2,698,613 查看许可证 >