IRONOCRの使用

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

公開済み 2024年3月26日
共有:

イントロダクション

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

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

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

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

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

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

  3. アイデンティティドキュメントの画像を読む using the IronOCRライブラリ。

  4. PDFから身分証明書を読み取る。

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

IronOCRの主な機能

テキスト読取りの多用途性

画像などのさまざまなフォーマットから関連データを読み取ることが可能です(JPEG、PNG、GIFF、TIFF、BMP)ストリーム、およびPDF。

画像強調

低品質のスキャンや写真をデスクュー、デノイズ、二値化、解像度の強化、膨張などのフィルターを用いて補正します。

バーコード認識

QRコード認識を追加して、20種類以上のバーコードタイプを含む広範なフォーマットからのバーコード読み取りに対応します。

Tesseract OCR統合

最新のTesseract OCRビルドを使用し、画像からテキストを抽出する際の最適なパフォーマンスに微調整されています。

柔軟な出力オプション

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

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

前提条件

  1. Visual Studio: インストールされていることを確認してくださいビジュアルスタジオその他のC#開発環境がインストールされている場合。

  2. NuGetパッケージマネージャー: プロジェクト内のパッケージ管理にNuGetを使用できるようにしてください。

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

Visual Studioで新しいC#コンソールアプリケーションを作成するか、既存のプロジェクトを利用します。 メニューから「Add New Project」を選択し、次に下のテンプレートから「Console Application」を選択します。

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

以下のウィンドウにプロジェクト名と場所を入力してください

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

必要な .NET バージョンを選択してください

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

新しいプロジェクトを作成するには、「Create」ボタンをクリックしてください。

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

IronOCRにありNuGetパッケージマネージャーであり、以下のコマンドを使用してコマンドプロンプトからインストールすることができます。

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

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

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

インストールが完了すると、アプリケーションは利用可能となりますIronOCRデータ抽出および本人確認のために、あらゆる身分証明書を読み取り、手動データ入力作業を削減します。

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

ID書類を処理するためにOCRを使用するには、多くのステップが必要であり、それらは以下に詳細に説明されています。

画像前処理

OCR IDドキュメント処理は、テキストを含む画像を取得することから始まります。 この画像は、スキャンされたID文書、IDカードの写真、またはテキストのあらゆる視覚的な表現である可能性があります。 身分証明書の前処理ステップには、画像の品質と明瞭さを向上させるために、サイズ変更、ノイズ除去、および強調が含まれる場合があります。

テキスト検出

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

コードの説明

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

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

PDFドキュメントからの読み取りも可能です。 以下のために、私たちはこれを使用することができますIronPDFIronSoftwareのライブラリ。 まず、以下のようにライブラリをインストールします。

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をOcrInputおよびocrTesseractにストリームとして渡します。

出力

C#でOCRを使用して身分証明書を読む方法: 図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#

トライアルライセンスを取得するためにユーザーのメールIDを提供してください。

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

使用事例

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

ユースケース: 銀行や金融機関は、顧客のオンボーディングやKYCプロセス中に、パスポート、運転免許証、IDカードといった身分証明書を読み取るためにOCRを利用します。

利点: アカウント作成、ローン申請、およびその他の金融取引において、正確で効率的な本人確認を確保します。

2. 国境管理と移民:

ユースケース:移民当局は、国境検問所でパスポートやビザの情報を読み取り、認証するためにOCR技術を使用します。

利点:移民プロセスを効率化し、セキュリティを強化し、手動データ入力のエラーを減少させます。

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

ユースケース: OCRは、IDカード、従業員バッジ、または顔認識スキャンから情報を読み取り、建物や制限区域への安全な入室のためにアクセス制御システムで使用されます。

利点: 認可された個人のみがアクセスできるようにすることでセキュリティを強化し、エントリーのデジタル記録を提供します。

4. 電子行政サービス:

ユースケース:政府機関は、運転免許証の更新、税務申告、および許可申請などのサービスのためにオンラインで提出されたID文書を処理および確認するためにOCRを使用します。

利点: 効率を向上させ、書類作業を削減し、全体的な市民体験を強化します。

5. 医療身分証明:

使用例: 医療提供者は、OCRを使用して患者のID、保険証、および他の身分証明書から情報を読み取り、正確な患者記録を維持しています。

利点:正確な患者の識別を促進し、適切な医療記録管理を保証し、請求プロセスをサポートします。

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

ユースケース:ホテルでは、お客様の身分証明書をスキャンすることで、OCRを利用して自動チェックインプロセスを導入し、登録プロセスを効率化しています。

利点: ゲストの体験を向上、チェックイン時間を短縮、ゲスト情報の取得におけるエラーを最小化。

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

ユースケース: スマートシティの取り組みにおいて、OCRは公共交通機関のアクセス、図書館会員登録、市のイベント登録などのサービスに使用される身分証明書を読み取るために適用されます。

利点: 公共サービスの効率を向上させ、シームレスなアクセスを促進し、都市生活の体験を向上させます。

8. 教育管理:

ユースケース: 教育機関は、学生の入学手続きや試験、学業証明書の発行の際に、IDドキュメントを処理し、確認するためにOCRを使用します。

利点: 正確な学生記録を保証し、管理負担を軽減し、学術プロセスの整合性を向上させます。

結論

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

< 以前
C#で文字認識を作成する方法
次へ >
C#でOCRレシートスキャナーを作成する方法