在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
光学字符识别 (光学字符识别) 技术已成为从图像中自动提取文本、实现高效数据检索和分析以及避免人为错误的宝贵工具。这项技术可用于读取驾驶执照、护照、机构官方文件、身份证、居留证卡以及多种语言和不同国家的旅行证件的准确有效期、国籍、出生日期等信息。所有提取的数据都可以进一步输入机器学习和人工智能软件产品。
在本文中,我们将探讨如何利用 IronOCR的一个功能强大的 C# OCR 库。 铁软件从身份证件中读取和提取信息。 IronOCR 以 API 的形式为 OCR 任务提供了直接而灵活的 OCR 解决方案,是希望将 OCR 软件功能集成到其应用程序中的开发人员的绝佳选择。
IronOCR 它使计算机能够从图像、现有文件扫描或任何其他文本的可视化表示中识别和提取文本。要提取数据,需要经过一系列复杂的过程,模仿人类视觉感知和解读文本的方式。这一过程包括图像预处理、文本检测、字符分割、特征提取、字符识别以及纠正错误的后处理。
1.在 Visual Studio 中创建一个新的 C# 项目
2.安装 IronOCR .NET 库,并将其添加到您的项目中。
3.使用 IronOCR 图书馆
4.从 PDF 阅读身份文件。
IronOCR由 Iron Software 制作和维护,是 C# 软件工程师的一个功能强大的库,有助于在 .NET 项目中进行 OCR、条形码扫描和文本提取。
能够读取各种格式的相关数据,包括图像 (JPEG、PNG、GIFF、TIFF、BMP)流和 PDF 文件。
通过一系列滤镜,如纠偏、去噪、二值化、增强分辨率、放大等,修正低质量扫描和照片。
支持读取各种格式的条形码,包括 20 多种条形码类型,并增加了 QR 码识别功能。
利用 Tesseract OCR 的最新版本,在从图像中提取文本时可获得最佳性能。
允许从图像文件中导出可搜索的 PDF、HTML 和文本内容,可灵活管理提取的信息。
现在,让我们深入开发一个利用 IronOCR 读取身份证文件的演示应用程序。
视觉工作室: 确保您拥有 Visual Studio 或任何其他已安装的 C# 开发环境。
首先在 Visual Studio 中创建一个新的 C# 控制台应用程序,或者利用现有项目。从菜单中选择添加新项目,然后从下面的模板中选择控制台应用程序。
在以下窗口中提供项目名称和位置
选择所需的 .NET 版本
单击 "创建 "按钮创建新项目。
IronOCR 可以在 NuGet 软件包管理器,并可使用以下命令在命令提示符下进行安装。
IronOCR 可使用 Visual Studio 安装。打开 NuGet 软件包管理器并搜索 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
以下是程序输入的图像样本
上述代码使用 IronOCR 库来读取 ID 文档中的所有文本字段。我们使用的IronTesseract类来自于 IronOCR 库,并将其配置为使用英语和一些黑名单字符。然后,我们使用 OcrInput 类声明 OCR 输入,然后从图像中读取文本。从控制台输出中可以看到提取的文本字段。
我们也可以从 PDF 文档中读取。为此,我们可以使用 IronPDF 库。首先,像下面这样安装库
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
上述代码使用 IronPDF 加载 id.PDF 文档,并将该 PDF 作为数据流传递给 OcrInput 和 ocrTesseract。
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"
提供用户电子邮件 ID 以获取试用许可证。
1.金融服务中的身份验证:
使用案例:在客户入职和 KYC 流程中,银行和金融机构利用 OCR 阅读护照、驾照和身份证等身份证件。
优点确保在创建账户、申请贷款和进行其他金融交易时进行准确高效的身份验证。
2.边境管制和移民:
用例:移民局在边境检查站使用 OCR 技术读取和验证护照和签证上的信息。
优点简化移民流程,提高安全性,减少人工数据输入错误。
3.访问控制和安全:
使用案例:OCR 可用于门禁控制系统,从身份证、员工徽章或面部识别扫描中读取信息,以便安全进入建筑物或禁区。
优点确保只有经授权的人才能访问,并提供数字输入记录,从而提高安全性。
4.电子政务服务:
使用案例:政府机构使用 OCR 处理和验证在线提交的身份证件,以提供驾驶执照延期、报税和许可证申请等服务。
优点提高效率,减少文书工作,提升市民的整体体验。
5.医疗保健身份验证:
使用案例:医疗保健提供商使用 OCR 读取病人身份证、保险卡和其他身份证件上的信息,以准确保存病人记录。
优点便于准确识别病人,确保正确的病历管理,并支持计费流程。
6.自动办理酒店入住:
使用案例:酒店通过扫描客人的身份证件,将 OCR 应用于自动登记入住流程,从而简化登记流程。
优点提升宾客体验,缩短办理入住手续的时间,最大限度地减少捕捉宾客信息时出现的错误。
7.智能城市和公共服务:
使用案例:在智慧城市计划中,OCR 可用于读取身份文件,以提供公共交通访问、图书馆会员资格和城市活动注册等服务。
优点提高公共服务的效率,促进无缝连接,提升城市生活体验。
8.教育管理:
用例:教育机构在学生入学、考试和颁发学历证书时使用 OCR 处理和验证身份证件。
优点确保学生记录准确无误,减轻行政负担,提高学术流程的完整性。
将 OCR 技术集成到您的 C# 应用程序中,使用 IronOCR 可让您高效地从身份证件中提取信息。本综合指南提供了建立项目和使用以下功能的必要步骤 IronOCR 来读取和处理身份证件图像。利用代码示例进行实验,根据您的具体要求定制提取流程,为处理身份证件数据提供无缝和自动化的解决方案。