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

パスポートOCR SDK(開発者向けチュートリアル)

パスポートは個人のアイデンティティです; 私たちはパスポートを使用して旅行し、私たちの生活の重要な側面を登録します。 しかし、パスポート形式は常に読みやすいわけではありません。 旅行やレジャーのために休日シーズン中に多くの旅行者が突然現れることを想像してみてください。 どうやって移民局の職員が、手動でデータを入力し、その大量のデータを手動で正確に取り出すことができるでしょうか?

したがって、多くのアプリケーションや企業が光学文字認識(OCR)を利用する方向に進んでおり、これにより開発者は印刷されたテキストやデジタル画像をすばやく抽出することができます。

同様に、パスポートOCRは、光学文字認識(OCR)ソフトウェアを使用してパスポートから意味のある情報を抽出する技術です; また、すべてのパスポートの機械可読領域を利用して、移民を通過しようとする個人を迅速に識別するための情報を取得します。 迅速にパスポート情報を認識する必要があるシナリオや、パスポートデータ抽出を自動化するプロセスにおいては、パスポートOCRは重要であり、空港や移民境界での効率とスピードの基盤です。

パスポートOCRのソフトウェアと技術が年々進化してきたにもかかわらず、さまざまな要因がドキュメントのスキャンプロセスに影響を与えることがあります。 パスポートにノイズや汚れがあるデジタル画像は、パスポートの精度に大きく影響を与えることがあります。 さらに、OCRライブラリは時としてパスポートを扱う際に混乱することがあり、機械可読領域は独自の構造化データセットです。 開発者はデータを抽出することができるかもしれませんが、パラメータを独立して整理する必要があります。 しかし、IronOCRを使用すると、パスポートを読み取るために特化した方法が最適化されます; その結果は開発者がすばやく情報を取得し操作できるようにし、高ボリュームのスキャンと自動化に理想的です。

この記事では、IronOCRを使用してパスポート情報を取得および操作し、データ抽出を自動化する方法について簡単に説明し、IronOCRがパスポートとどのように連携するかをさらに詳しく説明します。

IronOCR: C# OCR ライブラリ

パスポートOCR SDK(開発者チュートリアル): 図 1 - IronOCR: C# OCRライブラリ

IronOCRは、すべてのOCR関連のニーズに対して使いやすいメソッドと柔軟な機能を提供するC#ライブラリです。 標準的な技術に加えて、IronOCRは開発者がTesseractのバージョンを完全に利用しカスタマイズすることを可能にし、関連するすべての作業を達成します。

以下はその最も注目すべき機能の簡単な概要です。

  1. クロス互換性: IronOCRは.NET 8、7、6、5を含む多くの.NETプラットフォームと互換性があり、.NET Framework 4.6.2以降をサポートします。 このライブラリを使用すれば、開発者はクロス互換性を気にすることなく、Windows、macOS、Azure、Linuxに至るまでのすべてのオペレーティングシステムをサポートします。
  2. 柔軟性: OCR入力は多くの形式で提供されるため、ライブラリはすべての形式を処理し、真に柔軟でなければなりません。 IronOCRは人気のあるすべての画像形式(jpg、png、およびgif)を受け入れ、C#の"System.Drawing.Objects"をサポートし、既存のコードベースへの統合を容易にします。
  3. サポートと使いやすさ: IronOCRはよく文書化されており、広範なAPIおよびチュートリアルがすべての機能形式を示しています。 さらに、24/5のサポートがあり、開発者は常にサポートされています。
  4. 多言語対応: IronOCRは最大125ヶ国語に対応しており、カスタム言語もサポートしているため、国際的な文書処理においても多用途です。

IronOCRを使用したパスポートの読み取り

ライセンスキー

IronOCRを操作するにはライセンスキーが必要です。 このリンクから無料トライアルの一部としてキーを取得できます。

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

トライアル キーを受け取った後、プロジェクト内でこの変数を設定します。

コード例

以下のコードは、IronOCRがパスポート画像を取得し、ライブラリのパスポート OCR SDKを使用してすべての関連情報を抽出する方法を示しています。

入力画像

パスポートOCR SDK(開発者チュートリアル):図2 - 入力画像

using IronOcr;
using System;

class Program {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR to read the passport
        OcrResult result = ocr.Read(inputPassport);

        // Output passport information
        Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
        Console.WriteLine("Country: " + result.Passport?.Country);
        Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
        Console.WriteLine("Surname: " + result.Passport?.Surname);
        Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
        Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
    }
}
using IronOcr;
using System;

class Program {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR to read the passport
        OcrResult result = ocr.Read(inputPassport);

        // Output passport information
        Console.WriteLine("Given Names: " + result.Passport?.GivenNames);
        Console.WriteLine("Country: " + result.Passport?.Country);
        Console.WriteLine("Passport Number: " + result.Passport?.PassportNumber);
        Console.WriteLine("Surname: " + result.Passport?.Surname);
        Console.WriteLine("Date of Birth: " + result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"));
        Console.WriteLine("Date of Expiry: " + result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"));
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Public Shared Sub Main()
		' Instantiate OCR engine
		Dim ocr = New IronTesseract()
		Dim inputPassport = New OcrInput()
		inputPassport.AddImage("Passport.jpg")

		' Perform OCR to read the passport
		Dim result As OcrResult = ocr.Read(inputPassport)

		' Output passport information
		Console.WriteLine("Given Names: " & result.Passport?.GivenNames)
		Console.WriteLine("Country: " & result.Passport?.Country)
		Console.WriteLine("Passport Number: " & result.Passport?.PassportNumber)
		Console.WriteLine("Surname: " & result.Passport?.Surname)
		Console.WriteLine("Date of Birth: " & result.Passport?.DateOfBirth.ToString("yyyy-MM-dd"))
		Console.WriteLine("Date of Expiry: " & result.Passport?.DateOfExpiry.ToString("yyyy-MM-dd"))
	End Sub
End Class
$vbLabelText   $csharpLabel

コードの説明

  1. ライブラリのインポート: 最初にIronOCRをコードベースにインポートし、他に必要なライブラリをインポートします。
  2. OCRエンジンのインスタンス化: 新しいIronTesseractオブジェクトを作成してOCRエンジンを初期化します。
  3. パスポート画像の読み込み: 次に新しいOcrInputを作成し、AddImage()を使用してパスポートを含む画像を読み込みます。
  4. OCRを使用してパスポートを読む: 入力画像に対してOCR操作を行い、結果を保存するためにRead()メソッドを使用します。
  5. 結果の出力: パスポート情報として与えられた名前、国、パスポート番号、姓、生年月日、有効期限などを出力します。

コンソール出力

パスポートOCR SDK(開発者チュートリアル):図3 - コンソール出力

機械可読領域

IronOCRは、国際民間航空機関(ICAO)スタンダードに従ったパスポートの下部2行から機械可読領域(MRZ)情報を抽出することができます。 MRZデータはそれぞれ固有の情報を含む2行で構成されています。

これに関する簡単な表を紹介します。

パスポートOCR SDK(開発者チュートリアル):図4 - MRZの表

パスポートOCRの課題とデバッグ

デジタル画像をスキャンする際には常に画質が問題になります。 歪んだ画質は情報を不明瞭にし、データの精度を確認するのが難しくなります。 さらに、開発者はパスポートのような重要な情報を扱う際に、データセキュリティとコンプライアンスを考慮しなければなりません。

IronOCRはデバッグしてインタラクション情報の概念を示す方法も提供します。 これらのメソッドにより、開発者はトラブルシューティングを行い、抽出されたデータに自信を持てるようになります。

これの簡単な例をここに示します。

using IronOcr;
using System;

class DebugExample {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR
        OcrResult result = ocr.Read(inputPassport);

        // Output Confidence level and raw extracted text
        Console.WriteLine("OCR Confidence: " + result.Confidence);
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;

class DebugExample {
    public static void Main() {
        // Instantiate OCR engine
        var ocr = new IronTesseract();
        using var inputPassport = new OcrInput();
        inputPassport.AddImage("Passport.jpg");

        // Perform OCR
        OcrResult result = ocr.Read(inputPassport);

        // Output Confidence level and raw extracted text
        Console.WriteLine("OCR Confidence: " + result.Confidence);
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(result.Text);
    }
}
Imports IronOcr
Imports System

Friend Class DebugExample
	Public Shared Sub Main()
		' Instantiate OCR engine
		Dim ocr = New IronTesseract()
		Dim inputPassport = New OcrInput()
		inputPassport.AddImage("Passport.jpg")

		' Perform OCR
		Dim result As OcrResult = ocr.Read(inputPassport)

		' Output Confidence level and raw extracted text
		Console.WriteLine("OCR Confidence: " & result.Confidence)
		Console.WriteLine("Extracted Text: ")
		Console.WriteLine(result.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

デバッグコードの説明

  1. 信頼度: OcrResultConfidenceプロパティは、OCRの統計的な精度信頼度を浮動小数点数で表し、各文字の平均として計算されます。 低い値は、パスポート画像がぼやけているか、余分な情報が含まれている可能性を示します。 一は最高の信頼度レベルを示し、ゼロは最低を示します。
  2. テキスト: OcrResultTextプロパティは、パスポート画像から抽出された未処理のテキストを保持します。 開発者はそれをユニットテストで使用し、等値アサーションを行うことでパスポート画像からの抽出テキストを検証できます。

結論

パスポートOCR SDK(開発者チュートリアル):図5 - IronOCR

パスポートOCR技術は、データ抽出の自動化と運営効率の改善により、ドキュメント処理を大幅に向上させます。 それは、感度の高い個人情報を扱う際にも高精度を保ちながら、身元確認とKYCプロセスを合理化します。 移民の境界と空港は、IronOCRをパスポートOCR APIとして選択することで、処理時間を短縮し、ワークフローの効率を向上させることができます。

IronOCRは簡単に使用できる方法を通じて開発者に柔軟性と拡張性を提供します。 それは開発者が情報を迅速にOcrResultオブジェクトを通して整理することを許可します。 さらに、IronOCRはデバッグツールを提供し、開発者が製品の単体テストで使用できる信頼度のレベルや生の未解析テキストを含んでいます。 IronOCRは、メソッドに通す前にパスポート画像入力をクリアすることにより、デジタルノイズを手動で最小化し、より高度な使用に対応します。

IronOCRの無料トライアルライセンスページをぜひご利用ください。

よくある質問

C# でパスポートから情報を抽出するために OCR をどのように使用できますか?

パスポートの画像を処理し、強力な OCR 機能を使用して機械で読み取り可能なゾーンからデータを抽出することで、IronOCR を使用してパスポート情報を抽出できます。

パスポートデータ処理に OCR を使用する利点は何ですか?

パスポートデータ処理のための OCR は、情報の抽出を自動化し、空港や国境管理といった高トラフィックエリアで効率と正確さを飛躍的に向上させます。

OCR 技術で複数の言語を処理することは可能ですか?

はい、IronOCR は最大 125 の言語をサポートしており、カスタム言語の追加も可能で、国際文書の処理において非常に多用途です。

IronOCR はパスポートからの正確なデータ抽出をどのように確保しますか?

IronOCR は OcrResult に「信頼度」プロパティを提供し、統計的な精度を示し、開発者が抽出されたデータの信頼性を確認できるようにします。

パスポートスキャン用に IronOCR がサポートする画像形式は何ですか?

IronOCR は jpg、png、gif などの一般的な画像形式をすべてサポートし、ネイティブ C# System.Drawing.Objects とも連携でき、簡単に統合が可能です。

パスポート OCR の実装で開発者が直面する可能性のある課題は何ですか?

課題には低品質な画像の取り扱い、データセキュリティの確保、敏感なパスポート情報の取り扱いのコンプライアンスが含まれます。

開発者はパスポート OCR に IronOCR を使用することをどのように始めればよいですか?

開発者はプロバイダーのウェブサイトから試用ライセンスキーを取得し、詳細なドキュメントに従って C# アプリケーションに統合することで IronOCR の利用を開始できます。

IronOCR と互換性のあるプラットフォームは何ですか?

IronOCR は、.NET 8、7、6、5 を含むほとんどの .NET プラットフォームに対応しており、.NET Framework 4.6.2 以降と互換性があり、Windows、macOS、Azure、Linux などの主要なオペレーティングシステムをサポートしています。

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