IRONSOFTWAREHOME
USING IRONOCR

如何在 C# 中使用 OCR 讀取身份文件

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年6月28日

光學字元識別(OCR)技術已成為自動化從圖像中提取文字的寶貴工具,有助於高效的資料檢索和分析,並避免人為錯誤。 此技術可用於閱讀駕照、護照、機構官方文件、身份證、居留許可證和多國多語言的旅遊文件以獲取確切的到期日期、國籍、出生日期等。所有提取的資料可以進一步用於機器學習和人工智慧軟體產品。

在本文中,我們將探討如何利用IronOCR這個由Iron Software提供的強大C# OCR程式庫來閱讀和提取身份證件資訊。 IronOCR提供了一個簡便且靈活的OCR解決方案,透過API執行OCR任務,使其成為希望將OCR軟體功能整合到應用程式中的開發者的理想選擇。

IronOCR使計算機能夠識別並從圖像中提取文字,掃描現有文件或任何其他文字的視覺呈現。 為了提取資料,涉及一系列複雜的流程,模仿人類視覺上感知和解釋文字的方式。 此流程包括圖像預處理、文字檢測、字元分割、特徵提取、字元識別和後處理以糾正錯誤。

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

  1. 在Visual Studio中建立一個新的C#專案
  2. 安裝IronOCR .NET程式庫並將其新增到您的專案中。
  3. 使用IronOCR程式庫閱讀身份證件圖像。
  4. 從PDF中閱讀身份證件。

由Iron Software精心製作和維護的IronOCR是一個強大的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

點擊"建立"按鈕以建立新的專案。

步驟2:安裝IronOCR程式庫並將其新增到您的專案中

IronOCR可以在NuGet套件管理器中找到,並且可以使用套件管理器控制台以下命令安裝:

PM > Install-Package IronOcr

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()
    {
        // Configure IronTesseract with language and other settings
        var ocrTesseract = new IronTesseract()
        {
            Language = OcrLanguage.EnglishBest,
            Configuration = new TesseractConfiguration()
            {
                ReadBarCodes = false, // Disable reading of barcodes
                BlackListCharacters = "`ë|^", // Blacklist specific characters
                PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd, // Set page segmentation mode
            }
        };

        // Define the OCR input image
        using var ocrInput = new OcrInput("id1.png");
        
        // Perform OCR on the input image
        var ocrResult = ocrTesseract.Read(ocrInput);
        
        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}

輸入圖像

以下是作為程式輸入的樣本圖像。

如何在C#中使用OCR閱讀身份文件:圖6

輸出

如何在C#中使用OCR閱讀身份文件:圖7

程式碼解釋

以上程式碼使用IronOCR程式庫從身份證件中讀取所有文字欄位。 我們使用IronOCR程式庫中的IronTesseract類,並將其配置為使用英語和一些黑名單字元。 然後我們使用OcrInput類宣告OCR輸入並從圖像中讀取文字。 提取出的文字欄位可以在控制台輸出中看到。

步驟4:從PDF中讀取身份證件

我們也可以從PDF文件中讀取。 為此,我們可以使用IronPDF程式庫。 首先,像下面這樣安裝該程式庫:

PM > Install-Package IronOcr

using IronOcr;
using IronPdf;

class Program
{
    public static void Main()
    {
        // Load the PDF document
        var pdfReader = new PdfDocument("id1.pdf");
        
        // Initialize IronTesseract for OCR
        var ocrTesseract = new IronTesseract();
        
        // Create OCR input from the PDF stream
        using var ocrInput = new OcrInput();
        ocrInput.AddPdf(pdfReader.Stream);
        
        // Perform OCR on the PDF input
        var ocrResult = ocrTesseract.Read(ocrInput);
        
        // Display the extracted text
        Console.WriteLine(ocrResult.Text);
    }
}

以上程式碼使用IronPDF載入ocrTesseract

輸出

如何在C#中使用OCR閱讀身份文件:圖9

授權(提供免費試用)

要使用IronOCR,您需要一個授權金鑰。 此金鑰需放置在appsettings.json中。

{
    "IRONOCR-LICENSE-KEY": "your license key"
}
JSON

提供使用者電子郵箱ID以獲取試用授權。

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

使用案例

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

  • 使用案例: 銀行和金融機構於客戶入職和KYC過程中,使用OCR來讀取如護照、駕照和身份證件。
  • 好處: 確保帳戶建立、貸款申請和其他財務交易中的身份驗證準確和高效。

2. 邊境管制和移民:

  • 使用案例: 移民當局在邊境檢查點使用OCR技術讀取和驗證護照和簽證資訊。
  • 好處: 簡化移民過程,增強安全性,及減少手動資料輸入錯誤。

3. 存取控制和安全:

  • 使用案例: 在存取控制系統中,OCR被用於讀取許可卡、員工徽章或臉部識別掃描的資訊,以便安全進入建築或限制區域。
  • 好處: 通過確保只有授權人員可以進入,增強了安全性,並提供進入記錄的數位化記錄。

4. 電子政府服務:

  • 使用案例: 政府機構使用OCR處理和驗證用於在線提交的文件,以提供駕照續期、報稅和許可申請等服務。
  • 好處: 提高效率,減少文書工作,並提升整體公民體驗。

5. 醫療身份驗證:

  • 使用案例: 醫療服務提供者使用OCR讀取患者身份證、保險卡和其他身份文件以確保準確的患者記錄保存。
  • 好處: 促進精確的患者識別,確保正確的醫療記錄管理,及支持計費流程。

6. 自動化酒店入住:

  • 使用案例: 酒店利用OCR自動化辦理入住手續,通過掃描客人的身份文件來簡化註冊流程。
  • 好處: 提升客人體驗,縮短入住時間,並減少客人資訊錄入錯誤。

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

  • 使用案例: 在智慧城市計畫中應用OCR以讀取身份文件提供服務,如公共交通存取、圖書館會員和城市活動註冊。
  • 好處: 提高公共服務效率,促進無縫存取,並增強城市生活體驗。

8. 教育管理:

  • 使用案例: 教育機構在學生入學、考試和學術憑證的發放期間使用OCR處理和驗證身份文件。
  • 好處: 確保準確的學生記錄,減少行政負擔,並增強學術流程的完整性。

結論

在您的C#應用程式中整合OCR技術使用IronOCR,可以有效地從身份文件中提取資訊。 本全面指南提供了設置專案並使用IronOCR讀取和處理身份文件圖像的必要步驟。 通過實驗程式碼範例以調整提取流程來滿足您的特定需求,提供處理身份文件資料的無縫自動化解決方案。

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立