護照 OCR SDK 開發者教學
護照是個人的身分證明; 我們使用護照旅行,並登記我們生活中的重要資訊。 然而,護照格式並非總是易於閱讀。 想像一下,在假日期間,突然有許多遊客湧入,進行旅遊休閒活動。 移民官員如何透過人工輸入處理如此龐大的資料量,並手動檢索正確的資訊?
因此,許多應用程式和企業正在轉向光學字元辨識 (OCR),它允許開發人員快速提取印刷文字和數位影像。
同樣,護照 OCR 是一種利用光學字元辨識(OCR) 軟體從護照中提取有意義資訊的技術; 它還利用所有護照的機讀區來檢索訊息,以便快速識別試圖通過移民局的個人。 在需要快速識別護照資訊或涉及自動提取護照資料的場景中,護照 OCR 至關重要,是機場和移民邊境效率和速度的基石。
雖然護照 OCR 軟體和技術多年來不斷發展,但各種因素仍會影響文件掃描過程。 護照上的數位照片如果有雜訊或污漬,會嚴重影響護照的準確性。 此外,在處理護照時,OCR 庫有時會造成混淆,因為機器可讀區域是一個獨特的結構化資料集。 開發人員或許能夠擷取數據,但必須獨立對參數進行排序。 然而, IronOCR採用專門的方法對讀取護照進行了最佳化; 其結果使開發人員能夠快速獲取和處理訊息,這對於大批量掃描和自動化來說非常理想。
在本文中,我們將簡要討論如何使用 IronOCR 獲取和處理護照資訊以實現資料提取自動化,並提供有關 IronOCR 如何與護照互動的更多詳細資訊。
IronOCR:AC# OCR庫
護照 OCR SDK(開發者教學):圖 1 - IronOCR:AC# OCR 庫
IronOCR是一個 C# 函式庫,它為所有與 OCR 相關的需求提供易於使用的方法和靈活的功能。 除了標準技術外,IronOCR 還允許開發人員充分利用和自訂 Tesseract 的某個版本來完成所有相關任務。
以下是其最顯著特徵的簡要概述:
1.跨平台相容性: IronOCR 與大多數 .NET 平台相容,包括 .NET 8、7、6 和 5,並支援 .NET Framework 4.6.2 及更高版本。 有了這個函式庫,開發人員不必擔心跨平台相容性問題,因為它還支援所有作業系統,從 Windows、macOS 到 Azure,甚至 Linux。 2.靈活性: OCR 輸入格式多種多樣,因此圖書館必須能夠處理各種格式才能真正做到靈活。 IronOCR 接受所有流行的圖像格式(jpg、png 和 gif),同時支援 C# 中的原生"System.Drawing.Objects",從而可以更輕鬆地整合到現有程式碼庫中。 3.支援和易用性: IronOCR 文件齊全,擁有豐富的 API 和教程,展示了所有功能。 此外,還提供 24/5 全天候支持,確保開發人員始終獲得支援。 4.多語言支援: IronOCR 支援多達 125 種語言,並且支援自訂語言,使其能夠靈活地處理所有國際文件。
使用 IronOCR 讀取護照訊息
許可證密鑰
請注意,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;
class Program {
public static void Main() {
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.AddImage("Passport.jpg");
// Perform OCR to read the passport
OcrResult result = ocr.Read(inputPassport);
// Output passport information
Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
Console.WriteLine("Country: " + result.Passport?.Country);
Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
Console.WriteLine("Surname: " + result.Passport?.Surname);
Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
}
}using IronOcr;
using System;
class Program {
public static void Main() {
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.AddImage("Passport.jpg");
// Perform OCR to read the passport
OcrResult result = ocr.Read(inputPassport);
// Output passport information
Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
Console.WriteLine("Country: " + result.Passport?.Country);
Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
Console.WriteLine("Surname: " + result.Passport?.Surname);
Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
}
}Imports IronOcr
Imports System
Friend Class Program
Public Shared Sub Main()
' Instantiate OCR engine
Dim ocr = New IronTesseract()
Dim inputPassport = New OcrInput()
inputPassport.AddImage("Passport.jpg")
' Perform OCR to read the passport
Dim result As OcrResult = ocr.Read(inputPassport)
' Output passport information
Console.WriteLine("Given Names: " & result.Passport?.GivenNames)
Console.WriteLine("Country: " & result.Passport?.Country)
Console.WriteLine("Passport Number: " & result.Passport?.PassportNumber)
Console.WriteLine("Surname: " & result.Passport?.Surname)
Console.WriteLine("Date of Birth: " & result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"))
Console.WriteLine("Date of Expiry: " & result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"))
End Sub
End Class程式碼說明
1.導入庫:我們先將 IronOCR 導入到程式碼庫和其他必要的庫中。 2.實例化 OCR 引擎:我們建立一個新的IronTesseract物件來初始化 OCR 引擎。 3.載入護照圖片:然後我們建立一個新的OcrInput ,並使用AddImage()載入包含護照的圖片。 4.使用 OCR 讀取護照:我們使用Read()方法對輸入影像執行 OCR 操作並儲存結果。 5.輸出結果:我們輸出提取的護照信息,例如名字、國家、護照號碼、姓氏、出生日期和到期日期。
控制台輸出
機器可讀區
IronOCR 可依照國際民航組織 (ICAO) 標準,從任何護照的底部兩行提取機讀區 (MRZ) 資訊。 MRZ 資料包含兩行,每行包含唯一資訊。
以下是簡要表格:
護照OCR和調試面臨的挑戰
掃描數位影像時,影像品質始終是一個問題。 影像品質失真會模糊訊息,使確認資料的準確性變得更加困難。 此外,開發人員在處理護照等關鍵任務資訊時,必須考慮資料安全和合規性。
IronOCR 也提供了一種調試和展示互動資訊概念的方法。 這些方法使開發人員能夠排查問題並對提取的資料充滿信心。
以下是一個簡短的例子:
using IronOcr;
using System;
class DebugExample {
public static void Main() {
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.AddImage("Passport.jpg");
// Perform OCR
OcrResult result = ocr.Read(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine("OCR Confidence: " + result.Confidence);
Console.WriteLine("Extracted Text: ");
Console.WriteLine(result.Text);
}
}using IronOcr;
using System;
class DebugExample {
public static void Main() {
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.AddImage("Passport.jpg");
// Perform OCR
OcrResult result = ocr.Read(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine("OCR Confidence: " + result.Confidence);
Console.WriteLine("Extracted Text: ");
Console.WriteLine(result.Text);
}
}Imports IronOcr
Imports System
Friend Class DebugExample
Public Shared Sub Main()
' Instantiate OCR engine
Dim ocr = New IronTesseract()
Dim inputPassport = New OcrInput()
inputPassport.AddImage("Passport.jpg")
' Perform OCR
Dim result As OcrResult = ocr.Read(inputPassport)
' Output Confidence level and raw extracted text
Console.WriteLine("OCR Confidence: " & result.Confidence)
Console.WriteLine("Extracted Text: ")
Console.WriteLine(result.Text)
End Sub
End Class偵錯程式碼說明
1.置信度: OcrResult中的Confidence屬性是一個浮點數,表示 OCR 的統計準確度置信度,計算方法是對每個字元取平均值。 數值越低,表示護照照片可能模糊或包含額外資訊。 1代表最高的置信度,0代表最低的置信度。 2.文字: OcrResult中的Text屬性保存從護照圖像中提取的未處理文字。 開發人員可以在單元測試中使用它,透過執行等式斷言來驗證從護照圖像中提取的文字。
結論
護照 OCR SDK(開發者教學):圖 5 - IronOCR
護照OCR技術透過自動化資料擷取和提高操作效率,顯著增強了文件處理能力。 它簡化了身份驗證和 KYC 流程,確保在處理敏感個人資訊時具有高度準確性。 移民邊境和機場可以透過選擇 IronOCR 作為其護照 OCR API 來縮短處理時間並提高工作流程效率。
IronOCR 透過其易於使用的方法,為開發人員提供了靈活性和可擴展性。 它允許開發人員透過OcrResult物件快速對資訊進行排序。 此外,IronOCR 還提供偵錯工具,包括置信度等級和原始未解析文本,供開發人員在產品單元測試中使用。 IronOCR 還可以手動最大限度地減少數位噪聲,以便在更高級的用途中實現,方法是在將護照影像輸入通過該方法之前清除影像雜訊。
歡迎使用 IronOCR 的免費試用許可證頁面。
常見問題解答
如何在 C# 中使用 OCR 從護照中擷取資訊?
您可以使用 IronOCR 擷取護照資訊,方法是處理護照影像,並利用其強大的 OCR 功能從機器可讀區擷取資料。
使用 OCR 處理護照資料有什麼好處?
用於護照資料處理的 OCR 可自動擷取資訊,大幅提升機場和邊境管制等高流量區域的效率和精確度。
是否可以使用 OCR 技術處理多種語言?
是的,IronOCR 支援多達 125 種語言,並允許新增自訂語言,使其成為處理國際文件的多面手。
IronOCR 如何確保從護照中準確擷取資料?
IronOCR 在 OcrResult 中提供了一個「Confidence」屬性來顯示統計準確度,讓開發人員可以驗證擷取資料的可靠性。
IronOCR 護照掃描支援哪些影像格式?
IronOCR 支援所有常用的圖像格式,包括 jpg、png 和 gif,它也可以與原生的 C# System.Drawing.Objects 搭配使用,以方便整合。
開發人員在實作 Passport OCR 時可能會面臨哪些挑戰?
面臨的挑戰包括處理低品質影像、確保資料安全,以及遵守處理敏感護照資訊的規定。
開發人員如何開始使用 IronOCR 進行護照 OCR?
開發人員可從提供者的網站取得試用授權金鑰,並依照詳細的說明文件將其整合至 C# 應用程式中,即可開始使用 IronOCR。
哪些平台與 IronOCR 相容?
IronOCR 與大多數的 .NET 平台相容,包括 .NET 8、7、6 和 5,以及 .NET Framework 4.6.2 及以上版本,並支援 Windows、macOS、Azure 和 Linux 等主要作業系統。







