使用 IRONOCR

如何使用C#中的OCR讀取身份證件

發佈 2024年3月26日
分享:

介紹

光學字符識別 (光學字符識別) 技術已成為自動從圖像中提取文本的寶貴工具,能夠高效檢索和分析數據,並避免人為錯誤。此技術可以用於讀取駕駛執照、護照、機構官方文件、身份證、居留許可證及不同國家和多語言的旅行證件,精確到期日期、國籍、出生日期等所有數據。所有提取的數據都可以進一步輸入到機器學習和人工智能軟件產品中。

本文將探索如何利用 IronOCR,來自 的一個強大的C# OCR庫 Iron Software, 從身份證件中讀取和提取信息。 IronOCR 提供簡單且靈活的 OCR 解決方案,以 API 的形式進行 OCR 任務,這對於希望將 OCR 軟件功能集成到其應用程式中的開發人員來說是一個很好的選擇。

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 文件。

圖像增強

通過一系列的過濾器,如Deskew、Denoise、Binarize、提升解析度、Dilate等來校正劣質掃描和照片。

條碼識別

支持從多種格式讀取條碼,涵蓋超過20種條碼類型,並增加了QR碼識別功能。

Tesseract OCR 整合

使用最新版本的 Tesseract OCR,精心調整以達到從圖像中提取文字的最佳效能。

靈活的輸出選項

允許從圖像文件中匯出可搜索的PDF、HTML和文本內容,提供在管理提取信息時的靈活性。

現在,讓我們深入研究利用IronOCR來讀取身份證件的演示應用程式的開發。

先決條件

  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 讀取任何身份證件以進行數據提取和身份驗證,從而減少手動數據輸入的工作。

第三步:使用 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 用於讀取身份證件中所有文本欄位的庫。我們使用 IronTesseract 類別。 IronOCR 設置庫以使用英語和一些被黑名單的字符。然後我們使用 OcrInput 類別聲明 OCR 輸入,接著從圖像中讀取文本。提取出的文本字段可以在控制台輸出中看到。

第 4 步:從 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

輸出

如何使用 OCR 在 C# 中讀取身份證件:圖 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#

提供用戶電子郵件以獲取試用許可。

如何使用 C# 中的 OCR 閱讀身份證件:圖 10

用例

1. 金融服務中的身份驗證:

用例:銀行和金融機構在客戶入職和KYC流程中使用OCR閱讀身份證件,如護照、駕照和ID卡。

好處:確保開戶、貸款申請和其他金融交易的身份驗證準確和高效。

2. 邊境管制和移民:

用例:移民當局在邊境檢查站使用OCR技術閱讀和驗證護照和簽證的信息。

好處:簡化移民程序,增強安全性,減少手動數據輸入錯誤。

3. 出入控制和安全:

用例:OCR在出入控制系統中用於閱讀ID卡、員工證件或面部識別掃描的信息,以安全進入建築物或受限區域。

好處:增強安全性,確保僅授權人員進入,並提供數位進出記錄。

4. 電子政府服務:

用例:政府機構使用OCR處理和驗證線上提交的ID文件,用於駕照續期、納稅申報和許可申請等服務。

好處:提高效率,減少紙張作業,提升整體市民體驗。

5. 醫療身份驗證:

用例:醫療提供者使用OCR閱讀患者ID、保險卡和其他身份證件的信息,確保準確的患者記錄。

好處:促進準確的患者識別,確保正確的醫療記錄管理,並支持計費流程。

6. 自動酒店入住:

用例:酒店實施OCR,通過掃描客人的身份證件進行自動入住流程,簡化登記過程。

好處:提升客人體驗,縮短入住時間,減少捕捉客人信息時的錯誤。

7. 智慧城市和公共服務:

用例:在智慧城市計劃中使用OCR閱讀身份證件,用於公共交通接入、圖書館會員資格和城市活動註冊等服務。

好處:提高公共服務效率,促進無縫接入,提升城市生活體驗。

8. 教育管理:

用例:教育機構在學生招生、考試和學術證書發放過程中使用OCR處理和驗證ID文件。

好處:確保準確的學生記錄,減少行政負擔,提升學術流程的完整性。

結論

將OCR技術整合到您的C#應用程式中使用 IronOCR 允許您從身分證件中高效提取信息。這本綜合指南提供設置您的項目和使用所需的步驟。 IronOCR 閱讀和處理身份證件影像。請嘗試這些代碼範例,根據您的具體需求調整提取過程,提供一個無縫且自動化的解決方案來處理身份證件數據。

< 上一頁
如何在 C# 中創建字符識別
下一個 >
如何在C#中創建OCR收據掃描器

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 2,433,305 查看許可證 >