使用 IRONOCR

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

發佈 2024年3月26日
分享:

介紹

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

在本文中,我們將探討如何利用IronOCR,來自 的一個強大的C# OCR庫Iron Software讀取和提取身份文件中的信息。 IronOCR提供簡單且靈活的OCR解決方案,透過API形式用於OCR任務,是尋求將OCR軟體能力整合到應用程式中的開發人員的絕佳選擇。

IronOCR使電腦能夠識別和提取圖片中的文字,掃描現有文件或其他任何文字的視覺表示。 要提取數據,涉及一系列模仿人類視覺感知和解讀文本的複雜過程。 此過程涉及圖像預處理、文字偵測、字元分割、特徵提取、字元識別及後處理以校正錯誤。

如何使用 OCR 在 C# 中读取身份证件

  1. 在 Visual Studio 中創建一個新的 C# 專案

  2. 安裝這個IronOCR將 .NET 程式庫添加到您的專案中。

  3. 使用IronOCR讀取身份證件影像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: 確保您擁有Visual Studio或任何其他已安裝的 C# 開發環境。

  2. NuGet 套件管理器: 確保您能使用 NuGet 來管理專案中的套件。

步驟 1:在 Visual Studio 中創建一個新的 C# 專案

首先,在 Visual Studio 中創建一個新的 C# 控制台應用程序,或者使用現有項目。 從選單中選擇新增專案,然後從下面的範本中選擇主控台應用程式。

使用 C# 讀取身份證件的 OCR 方法:圖 1

在以下窗口中提供專案名稱和位置

如何在C#中使用OCR讀取身份證件:圖2

選擇所需的 .NET 版本

如何在C#中使用OCR讀取身份證件:圖3

單擊「Create」按鈕以創建新專案。

步驟 2:安裝 IronOCR 函式庫並將其添加到您的專案中。

IronOCR可以在NuGet套件管理器可以使用命令提示字元安裝,使用以下命令。

如何在 C# 中使用 OCR 讀取身份證件:圖 4

IronOCR可以使用 Visual Studio 安裝。 開啟 NuGet 套件管理器並搜尋IronOCR如下所示,然後點擊安裝

如何使用 C# 中的 OCR 读取身份文件:圖 5

一旦安裝完成,應用程式即可使用IronOCR讀取任何身份證件以進行數據提取和身份驗證,從而減少手動數據輸入的工作。

步驟 3:使用 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來讀取身份證件,如護照、駕照和身份證。

優點:確保帳戶創建、貸款申請和其他金融交易的身份驗證準確且高效。

2. 邊境管制與移民:

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

好處:簡化移民流程,增強安全性,並減少人工資料輸入錯誤。

3. 訪問控制和安全性:

使用情境:OCR 用於門禁系統,以從身份證、員工證或人臉識別掃描中讀取信息,確保建築物或限制區域的安全進入。

好處:通過確保僅授權人員能夠訪問並提供進入的數位記錄來增強安全性。

4. 電子政府服務:

使用案例:政府機構使用OCR來處理和驗證在線提交的身份證件,以用於駕駛證更新、報稅和許可證申請等服務。

好處:提高效率,減少文書作業,提升整體公民體驗。

5. 醫療身份驗證:

使用案例:醫療提供者使用OCR從病患身份證、保險卡和其他身份文件中讀取資訊,以確保準確的病患記錄保存。

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

6. 自動酒店入住:

使用案例:酒店透過掃描客人的身份證件實施OCR進行自動化入住流程,簡化註冊過程。

好處:增強顧客體驗,縮短辦理入住時間,並減少錄取顧客資訊時的錯誤。

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

使用案例:在智慧城市計畫中,OCR被應用於閱讀身份證件,以提供公共交通通行、圖書館會員資格和城市活動註冊等服務。

優點:提高公共服務的效率,促進無縫訪問,增強城市生活體驗。

8. 教育管理:

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

優點:確保學生記錄準確,減少行政負擔,並增強學術流程的完整性。

結論

將OCR技術整合到您的C#應用程式中,使用IronOCR可有效地從身份證件中提取資訊。 此綜合指南提供設置專案並使用的必要步驟。IronOCR閱讀和處理身份證件圖片。 透過實驗代碼範例,將提取過程調整為符合您的特定需求,提供處理身份證件數據的無縫自動化解決方案。

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

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

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