在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
护照是个人的身份; 我们使用护照旅行和登记生活中的重要方面。 然而,护照格式并不总是易于阅读。 想象一下,在假日旅游和休闲季节,突然出现了许多旅行者。 移民代理如何通过手动数据录入处理大量的价值并手动检索正确的信息?
因此,许多应用程序和企业正在转向光学字符识别 (OCR),这使开发人员能够快速提取印刷文本和数字图像。
同样,护照 OCR 是一种使用光学字符识别(OCR)软件从护照中提取有意义信息的技术; 此外,译文还将利用所有护照的机器可读区域来检索信息,以快速识别试图通过想象的个人。 在需要快速识别护照信息的场景中,或者在涉及自动提取护照数据的流程中,护照 OCR 至关重要,是机场和出入境边防部门提高效率和速度的基石。
尽管多年来护照 OCR 软件和技术得到了进一步发展,但在扫描文件时仍存在很多因素。 护照上有噪点或污点的数字图像会严重影响护照的准确性。 此外,由于机器可读区是一个独特的结构化数据集,OCR 库在对护照进行操作时有时会造成混淆。 开发人员可能能够提取数据,但必须独立对参数进行排序。 然而,使用IronOCR,专门的方法已针对读取护照进行了优化。 翻译结果要让开发人员能够快速获取和处理信息,这非常适合大批量扫描和自动化。
在本文中,我们将简要讨论使用 IronOCR 获取和操作护照信息以实现数据提取自动化,并进一步详细介绍 IronOCR 如何与护照进行交互。
IronOCR 是一个 C# 库,提供易于使用的方法和灵活的功能,以满足所有 OCR 相关的需求。 除了标准技术外,IronOCR 还允许开发人员充分利用和定制定制版 Tesseract 来实现所有相关任务。
以下是其最显著特点的简要介绍:
跨平台兼容性:IronOCR 兼容大多数 .NET 平台,包括 .NET 8,7,6 和 5,并支持 .NET Framework 4.6.2 及以上版本。 有了这个库,开发人员就不必担心交叉兼容性问题,因为它还支持所有操作系统形式。 范围包括 Windows、macOS、Azure 甚至 Linux:
灵活性:OCR 输入有多种格式,因此一个库必须处理所有格式才能真正灵活。 IronOCR接受所有流行的图像格式(jpg、png和gif),同时支持C#的本地"System.Drawings.Objects",使得更容易集成到现有的代码库中。
支持与易用性:IronOCR 文档齐全,具有广泛的 API 和教程,指示所有形式的功能。 此外,还提供 24/5 支持,确保开发人员始终得到支持。
请记住,IronOCR 的运行需要许可密钥。 您可以通过访问此链接获取免费试用的密钥。
//Replace the license key variable with the trial key you obtained
IronOCr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
//Replace the license key variable with the trial key you obtained
IronOCr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
'Replace the license key variable with the trial key you obtained
IronOCr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
收到试用密钥后,请在项目中设置此变量。
下面的代码展示了 IronOCR 如何使用库中的护照 OCR SDK 获取护照图像并提取所有相关信息。
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output passport information
Console.WriteLine(result.PassportInfo.GivenNames)
Console.WriteLine(result.PassportInfo.Country)
Console.WriteLine(result.PassportInfo.PassportNumber)
Console.WriteLine(result.PassportInfo.Surname)
Console.WriteLine(result.PassportInfo.DateOfBirth)
Console.WriteLine(result.PassportInfo.DateOfExpiry)
我们首先将 IronOCR 导入代码库。
然后我们创建一个新的OCrInput
并将其指定为inputPassport
。
然后,我们通过提供图像的路径来读取图像。
然后我们使用专门的方法ReadPassport
来读取护照,并传递输入的护照。
IronOCR 可以按照国际民用航空组织(ICAO)标准,从任何护照底部的两行中提取机器可读区域(MRZ)信息。 MRZ 数据由两行组成,每行包含唯一的信息。 有关每行中每个位置对应的详细信息以及任何例外情况和唯一标识符,请查阅ICAO文档标准。
下面是一个简表:
扫描数字图像时,图像质量始终是个问题。 失真的图像质量会模糊信息,增加确认数据准确性的难度。 此外,在处理护照等关键任务信息时,开发人员必须考虑数据的安全性和合规性。
IronOCR 还为交互信息离子提供了一种简要调试和展示概念的方法。 这些方法可以让开发人员排除故障,并对提取的数据充满信心。
下面是一个简单的例子:
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence)
Console.WriteLine(result.Text)
同样,上例中的代码也保持不变; 但是,控制台输出有所不同,因为我们直接访问Text
和Confidence
属性,而不是护照的各个成员。
置信度:OcrPassportResult
中的 Confidence
属性是一个浮点数,表示 OCR 的统计准确性置信度,计算为每个字符的平均值。 较低的值表示护照图像可能模糊或包含其他信息。 1 代表最高置信度,0 代表最低置信度。
OcrPassportResult
中的Text
属性保存了从护照图像中提取的未处理文本。 开发人员可以在单元测试中使用它,通过等价断言来验证从护照图像中提取的文本。Passport OCR 技术通过自动提取数据和提高操作效率,大大增强了文档处理能力。 它可以简化身份验证和 KYC 流程,在处理敏感个人信息的同时确保高准确性。 移民边境和机场选择 IronOCR 作为其护照 OCR API,可以缩短处理时间,提高工作流程效率。
IronOCR 通过其简单易用的方法为开发人员提供了灵活性和可扩展性。 它允许开发人员通过OcrPassportResult
对象快速排序信息。 此外,IronOCR 还提供了调试工具,包括置信度和未经解析的原始文本,供开发人员在产品单元测试中使用。 IronOCR 还会在护照图像输入通过该方法之前清除数字噪音,从而手动将数字噪音降至最低,以满足更高级的使用要求。
欢迎使用IronOCR的免费试用许可证页面。