使用 IRONOCR

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

发布 2024年三月26日
分享:

简介

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

在本文中,我们将探讨如何利用 IronOCR的一个功能强大的 C# OCR 库。 铁软件从身份证件中读取和提取信息。 IronOCR 以 API 的形式为 OCR 任务提供了直接而灵活的 OCR 解决方案,是希望将 OCR 软件功能集成到其应用程序中的开发人员的绝佳选择。

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

如何在 C&num 中使用 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 读取身份证文件的演示应用程序。

先决条件

  1. 视觉工作室: 确保您拥有 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 可读取任何身份证件进行数据提取和身份验证,从而减少人工数据录入工作。

第三步:使用 IronOCR 库读取身份文件图像

使用 OCR 处理身份证件涉及许多步骤,详情如下。

图像预处理

OCR 身份证件处理首先要获取包含文本的图像。这种图像可以是扫描的身份证件、身份证照片或任何其他文本的视觉表现形式。身份证预处理步骤可能包括调整大小、降噪和增强,以提高图像的质量和清晰度。

文本检测

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 输入,然后从图像中读取文本。从控制台输出中可以看到提取的文本字段。

第 4 步:从 PDF 文件中读取身份文件。

我们也可以从 PDF 文档中读取。为此,我们可以使用 IronPDF 库。首先,像下面这样安装库

如何在 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 处理和验证身份证件。

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

结论

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

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

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

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