フッターコンテンツにスキップ
IRONOCRの使い方

C#でOCRを使用して身分証明書を読む方法

光学式文字認識 (OCR) 技術は、画像からのテキストの抽出を自動化し、効率的なデータの検索と分析を可能にし、人的エラーを回避するための貴重なツールとなっています。 この技術は、複数の言語と異なる国の運転免許証、パスポート、機関の公式文書、身分証明書、居住許可証、旅行書類を、有効期限、国籍、生年月日などを正確に読み取るために使用できます。抽出されたすべてのデータは、機械学習および人工知能ソフトウェア製品にさらに供給できます。

この記事では、 Iron Softwareの強力な C# OCR ライブラリであるIronOCR を活用して、身分証明書から情報を読み取って抽出する方法について説明します。 IronOCR は、OCR タスク用の API の形で簡単で柔軟な OCR ソリューションを提供するため、OCR ソフトウェア機能をアプリケーションに統合したい開発者にとって最適な選択肢となります。

IronOCR を使用すると、コンピューターが画像からテキストを認識して抽出したり、既存のドキュメントをスキャンしたり、その他のテキストの視覚的表現をスキャンしたりできるようになります。 データを抽出するには、人間がテキストを視覚的に認識して解釈する方法を模倣した一連の複雑なプロセスが必要です。 このプロセスには、画像の前処理、テキスト検出、文字のセグメンテーション、特徴抽出、文字認識、およびエラーを修正するための後処理が含まれます。

C#でOCRを使って身分証明書を読み取る方法

  1. Visual Studioで新しいC#プロジェクトを作成します
  2. IronOCR .NET ライブラリをインストールし、プロジェクトに追加します。
  3. IronOCR ライブラリを使用して ID 文書の画像を読み取ります。
  4. PDF から身分証明書を読み取ります。

Iron Software によって作成および保守されている IronOCR は、C# ソフトウェア エンジニア向けの強力なライブラリとして機能し、.NET プロジェクト内での OCR、バーコード スキャン、およびテキスト抽出を容易にします。

IronOCRの主な機能

テキスト読み取りの多様性

画像 (JPEG、PNG、GIFF、TIFF、BMP)、ストリーム、PDF など、さまざまな形式から関連データを読み取ることができます。

画像強調

傾き補正、ノイズ除去、2値化、解像度向上、膨張などのさまざまなフィルターを使用して、低品質のスキャンや写真を修正します。

バーコード認識

20 種類以上のバーコードを含む幅広い形式のバーコードの読み取りをサポートし、QR コード認識も追加されました。

Tesseract OCR統合

画像からテキストを抽出する際のパフォーマンスを最適化するために細かく調整された、Tesseract OCR の最新ビルドを活用します。

柔軟な出力オプション

画像ファイルから検索可能な PDF、HTML、テキスト コンテンツをエクスポートできるため、抽出された情報を柔軟に管理できます。

それでは、IronOCR を使用して ID ドキュメントを読み取るデモ アプリケーションの開発について詳しく見ていきましょう。

前提条件

  1. Visual Studio: Visual Studioまたはその他の C# 開発環境がインストールされていることを確認します。
  2. NuGetパッケージマネージャー: プロジェクトでNuGetを使用してパッケージを管理できることを確認してください。

ステップ1: Visual Studioで新しいC#プロジェクトを作成する

まず、Visual Studio で新しい C# コンソール アプリケーションを作成するか、既存のプロジェクトを利用します。 メニューから"新しいプロジェクトの追加"を選択し、下のテンプレートからコンソール アプリケーションを選択します。

! C#でOCRを使って身分証明書を読み取る方法: 図1

以下のウィンドウでプロジェクト名と場所を入力します。

! C#でOCRを使って身分証明書を読み取る方法: 図2

C#でのHTMLからPDFへの変換のGroupDocs代替: 図4

! C#でOCRを使って身分証明書を読み取る方法: 図3

"作成"ボタンをクリックして新しいプロジェクトを作成します。

ステップ 2: IronOCR ライブラリをインストールし、プロジェクトに追加します。

IronOCR はNuGetパッケージ マネージャーにあり、次のコマンドを使用してパッケージ マネージャー コンソールを使用してインストールできます。

Install-Package IronOcr

IronOCR は Visual Studio を使用してインストールすることもできます。 NuGet パッケージ マネージャーを開き、以下のように IronOCR を検索して、インストールをクリックします。

! C#でOCRを使って身分証明書を読み取る方法: 図5

アプリケーションをインストールすると、IronOCR を使用してあらゆる身分証明書を読み取り、データの抽出と身元確認を行うことができるようになり、手動によるデータ入力作業が削減されます。

ステップ3: IronOCRライブラリを使用して身分証明書の画像を読み取る

OCR を使用して ID 文書を処理するには、以下に詳述する多くの手順が必要です。

画像前処理

OCR ID ドキュメント処理は、テキストを含む画像の取得から始まります。 この画像には、スキャンされた ID 文書、ID カードの写真、またはその他のテキストの視覚的表現が考えられます。 身分証明書の前処理手順には、画像の品質と鮮明さを向上させるためのサイズ変更、ノイズ低減、および強調が含まれる場合があります。

テキスト検出

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);
    }
}
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);
    }
}
Imports IronOcr

Friend Class Program
	Public Shared Sub Main()
		' Configure IronTesseract with language and other settings
		Dim ocrTesseract = New IronTesseract() With {
			.Language = OcrLanguage.EnglishBest,
			.Configuration = New TesseractConfiguration() With {
				.ReadBarCodes = False,
				.BlackListCharacters = "`ë|^",
				.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd
			}
		}

		' Define the OCR input image
		Dim ocrInput As New OcrInput("id1.png")

		' Perform OCR on the input image
		Dim ocrResult = ocrTesseract.Read(ocrInput)

		' Display the extracted text
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

入力画像

以下はプログラムの入力として使用されるサンプル画像です。

! C#でOCRを使って身分証明書を読み取る方法: 図6

出力

! C#でOCRを使用して身分証明書を読み取る方法: 図7

コードの説明

上記のコードは、IronOCR ライブラリを使用して、ID ドキュメントからすべてのテキスト フィールドを読み取ります。 IronOCR ライブラリのIronTesseractクラスを使用し、英語とブラックリストに登録された一部の文字を使用するように設定します。 次に、 OcrInputクラスを使用して OCR 入力を宣言し、画像からテキストを読み取ります。 抽出されたテキスト フィールドはコンソール出力に表示されます。

ステップ 4: PDF から身分証明書を読み取ります。

PDF文書から読み取ることもできます。 このために、Iron Software のIronPDFライブラリを使用できます。 まず、以下のようにライブラリをインストールします。

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);
    }
}
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);
    }
}
Imports IronOcr
Imports IronPdf

Friend Class Program
	Public Shared Sub Main()
		' Load the PDF document
		Dim pdfReader = New PdfDocument("id1.pdf")

		' Initialize IronTesseract for OCR
		Dim ocrTesseract = New IronTesseract()

		' Create OCR input from the PDF stream
		Dim ocrInput As New OcrInput()
		ocrInput.AddPdf(pdfReader.Stream)

		' Perform OCR on the PDF input
		Dim ocrResult = ocrTesseract.Read(ocrInput)

		' Display the extracted text
		Console.WriteLine(ocrResult.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードでは、IronPDF を使用してid1.pdfドキュメントを読み込み、PDF はストリームとしてOcrInputocrTesseractに渡されます。

出力

! C#でOCRを使用して身分証明書を読み取る方法: 図9

ライセンス (無料トライアル利用可能)

IronOCR を使用するには、ライセンス キーが必要です。 このキーはappsettings.json に配置する必要があります。

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

試用ライセンスを取得するには、ユーザーのメール ID を入力してください。

! C#でOCRを使って身分証明書を読み取る方法: 図10

ユースケース

1. 金融サービスにおける本人確認:

-ユースケース:銀行や金融機関は、顧客のオンボーディングや KYC プロセス中に、OCR を使用してパスポート、運転免許証、ID カードなどの身分証明書を読み取ります。 -利点:アカウントの作成、ローンの申請、その他の金融取引における正確かつ効率的な本人確認を保証します。

2. 国境管理と入国管理:

-ユースケース:入国管理局は、OCR 技術を使用して、国境検問所でパスポートやビザの情報を読み取り、認証します。 -利点:入国手続きが合理化され、セキュリティが強化され、手動によるデータ入力エラーが削減されます。

3. アクセス制御とセキュリティ:

-使用例: OCR は、アクセス制御システムで ID カード、従業員バッジ、または顔認識スキャンから情報を読み取り、建物や立ち入り禁止区域への安全な入場を実現するために使用されます。 -利点:許可されたユーザーのみがアクセスできるようにすることでセキュリティを強化し、入場のデジタル記録を提供します。

4. 電子政府サービス:

-ユースケース:政府機関は、運転免許証の更新、納税申告、許可申請などのサービスのためにオンラインで提出された ID 文書を OCR を使用して処理および検証します。 -利点:効率性が向上し、書類作業が削減され、住民の全体的なエクスペリエンスが向上します。

5. 医療における本人確認:

-ユースケース:医療提供者は、OCR を使用して患者 ID、保険証、その他の身分証明書から情報を読み取り、正確な患者記録を保持します。 -利点:正確な患者識別を容易にし、適切な医療記録管理を確保し、請求プロセスをサポートします。

6. 自動ホテルチェックイン:

-ユースケース:ホテルは、ゲストの身分証明書をスキャンして自動チェックイン プロセスに OCR を実装し、登録プロセスを合理化します。 -利点:ゲストのエクスペリエンスを向上させ、チェックイン時間を短縮し、ゲスト情報の取得時のエラーを最小限に抑えます。

7. スマートシティと公共サービス:

-ユースケース: OCR は、公共交通機関のアクセス、図書館の会員、都市のイベント登録などのサービスのための身分証明書を読み取るためにスマート シティ イニシアチブに適用されます。 -利点:公共サービスの効率性が向上し、シームレスなアクセスが促進され、都市生活の体験が向上します。

8. 教育行政:

-ユースケース:教育機関は、学生の入学、試験、学位の発行時に OCR を使用して ID 文書を処理および検証します。 -利点:学生の記録の正確性を確保し、管理上の負担を軽減し、学術プロセスの整合性を高めます。

結論

IronOCR を使用して C# アプリケーションに OCR テクノロジーを統合すると、ID ドキュメントから情報を効率的に抽出できるようになります。 この包括的なガイドでは、プロジェクトを設定し、IronOCR を使用して身分証明書の画像を読み取って処理するために必要な手順を説明します。 コード例を試して、抽出プロセスを特定の要件に合わせて調整し、ID 文書データを処理するためのシームレスで自動化されたソリューションを提供します。

よくある質問

C#を使って身分証明書からテキストを抽出するにはどうすればよいですか?

IronSoftwareの専門的なOCRライブラリであるIronOCRを使用することで、パスポート、IDカード、運転免許証などのさまざまな身分証明書からテキストを抽出できます。IronOCRはVisual StudioのNuGetパッケージマネージャーを通じてインストールでき、画像とPDFからテキストを読み取るためのメソッドを使用できます。

身分証明書にOCRを使用する利点は何ですか?

IronSoftwareのIronOCRのようなOCR技術は、身分証明書からのテキスト抽出を自動化し、人為的エラーを減少させ、データ取得の効率を向上させます。複数の言語とドキュメント形式をサポートしており、金融、医療、国境管理などの分野での応用に最適です。

C#プロジェクトでOCRを設定するための手順は何ですか?

C#プロジェクトでOCRを設定するには、Visual Studioで新しいプロジェクトを作成し、NuGetパッケージマネージャーを通じてIronOCRをインストールし、そのAPIを利用して文書からテキストを読み取る必要があります。IronOCRはOCR機能の統合を助けるために、包括的なドキュメントと例を提供しています。

OCRの結果を向上させるために画像品質を向上させる方法はありますか?

IronOCRには、スキュー除去、デノイズ、二値化、解像度の向上、拡張などの画像品質を向上させる機能があります。これらのフィルターは、低品質の画像からのテキスト認識の精度を向上させ、信頼できるデータ抽出を保証します。

OCR技術は身分証明書からバーコードを読み取ることができますか?

はい、IronOCRは身分証明書からのバーコード認識をサポートしています。QRコードを含む20種類以上のバーコードを読み取ることができ、テキストとバーコードデータの抽出を必要とするアプリケーションに役立ちます。

身分証明における特定の使用例はありますか?

OCRは、自動チェックイン、アクセスコントロール、電子政府サービスなどのアプリケーションでの身分証明によく使用されています。IronOCRは、身分証明書からテキストを抽出し検証するために必要なツールを提供し、セキュリティを強化しプロセスを合理化します。

OCRで多言語テキスト抽出をどのように処理できますか?

IronOCRは多言語サポートを提供しており、さまざまな言語の文書からテキストを抽出することができます。この機能は、異なる言語の文書が効率的に処理される必要がある国際的なアプリケーションで特に有用です。

OCRライブラリの試用版はありますか?

IronSoftwareのIronOCRは無料の試用版を提供しています。メールアドレスを提供することで試用版のライセンスキーを入手でき、購入前にライブラリの機能を探ることができます。

Kannaopat Udonpant
ソフトウェアエンジニア
ソフトウェアエンジニアになる前に、Kannapatは北海道大学で環境資源の博士号を修了しました。博士号を追求する間に、彼はバイオプロダクションエンジニアリング学科の一部である車両ロボティクスラボラトリーのメンバーになりました。2022年には、C#のスキルを活用してIron Softwareのエンジニアリングチームに参加し、IronPDFに注力しています。Kannapatは、IronPDFの多くのコードを執筆している開発者から直接学んでいるため、この仕事を大切にしています。同僚から学びながら、Iron Softwareでの働く社会的側面も楽しんでいます。コードやドキュメントを書いていない時は、KannapatはPS5でゲームをしたり、『The Last of Us』を再視聴したりしていることが多いです。