IRONOCRの使用

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

公開済み 2024年12月15日
共有:

Aパスポートは個人のアイデンティティです。 私たちはパスポートを使用して旅行をし、生活の重要な側面を登録します。 しかし、パスポートの形式は必ずしも読みやすいわけではありません。 旅行やレジャーのために、ホリデーシーズン中に多くの旅行者が突如現れる様子を想像してください。 移民局の担当者が、手動でデータを入力し、その大量の価値を処理し、正しい情報を手動で取得することがどのように可能でしょうか?

そのため、多くのアプリケーションや企業は光学文字認識に目を向けています。(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.Drawings.Objects」をサポートし、既存のコードベースへの統合を容易にします。

  3. サポートと使いやすさ: IronOCRは、すべての機能を示す広範なAPIやチュートリアルを備えた、よく文書化されたソフトウェアです。 さらに、開発者が常にサポートされるように24/5のサポートがあります。

    1. 複数言語のサポート: 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"
VB   C#

トライアルキーを受け取ったら、プロジェクトにこの変数を設定してください。

コード例

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

入力画像

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

using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output passport information
Console.WriteLine(result.PassportInfo.GivenNames)
Console.WriteLine(result.PassportInfo.Country)
Console.WriteLine(result.PassportInfo.PassportNumber)
Console.WriteLine(result.PassportInfo.Surname)
Console.WriteLine(result.PassportInfo.DateOfBirth)
Console.WriteLine(result.PassportInfo.DateOfExpiry)
VB   C#

コードの説明

  1. 最初にIronOCRをコードベースにインポートします。

  2. 次に、新しい`OCrInput`を作成し、それを`inputPassport`として割り当てます。

  3. 次に、画像のパスを指定して画像を読み込みます。

  4. その後、パスポートを読み取るための特殊なメソッドである`ReadPassport`を使用し、入力されたパスポートを渡します。

  5. その後、抽出したデータを操作し、結果を出力することができます。

コンソール出力

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

機械可読領域

IronOCRは機械読み取り領域を抽出できます。(MRZ)国際民間航空機関 (ICAO) に従ったパスポートの下部二行の情報(ICAO)標準。 MRZデータは2行で構成されており、それぞれに固有の情報が含まれています。 行内の各位置が何に対応するかの詳細情報、および例外や一意の識別子については、次の資料をご参照ください。ICAOドキュメント標準。

以下に簡単な表を示します:

Passport OCR SDK(開発者チュートリアル):図4 - MDZの表

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

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

IronOCRは、相互作用情報の概念を簡単にデバッグし、紹介する方法も提供します。 これらのメソッドは、開発者がトラブルシューティングを行い、抽出されたデータに自信を持つことを可能にします。

以下はその簡単な例です。

using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
using var inputPassport = new OcrInput();
inputPassport.LoadImage("Passport.jpg");
// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);
// Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPassport = New OcrInput()
inputPassport.LoadImage("Passport.jpg")
' Perform OCR
Dim result As OcrPassportResult = ocr.ReadPassport(inputPassport)
' Output Confidence level and raw extracted text
Console.WriteLine(result.Confidence)
Console.WriteLine(result.Text)
VB   C#

同様に、上記の例のコードは同じままです。 しかし、パスポートの個々のメンバーではなく、直接`Text`と`Confidence`プロパティにアクセスするため、コンソール出力が異なります。

  1. 信頼度: `OcrPassportResult` の `Confidence` プロパティは、OCRの統計的な精度の信頼度を表す浮動小数点数であり、各文字の平均として計算されます。 より低い値は、パスポートの画像がぼやけているか、追加の情報を含んでいる可能性があることを示します。 1 は最高の信頼レベルを表し、0 は最低の信頼レベルを表します。

  2. テキスト: OcrPassportResultText プロパティは、パスポート画像から抽出された未処理のテキストを保持します。 開発者は、パスポート画像から抽出されたテキストを同一性アサーションで検証するために、ユニットテストでこれを使用できます。

結論

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

パスポートOCR技術は、データ抽出を自動化し、運用効率を向上させることで、文書処理を大幅に強化します。 それは、身元確認とKYCプロセスを合理化し、機密個人情報を扱う際に高い精度を保証します。 移民局の国境や空港は、IronOCRをパスポートOCR APIとして選ぶことで、処理時間を短縮し、ワークフローの効率を改善することができます。

IronOCRは、使いやすいメソッドを通じて、開発者に柔軟性とスケーラビリティを提供します。 開発者はOcrPassportResultオブジェクトを通じて情報を迅速に並べ替えることができます。 さらに、IronOCRは、信頼レベルや未解析の生データを含むデバッグツールを提供しており、開発者が製品の単体テストで使用できます。 IronOCRは、メソッドに通す前にパスポートの画像入力をクリアにすることで、より高度な使用のためにデジタルノイズを手動で最小限に抑えます。

IronOCRの利用をぜひお試しください。無料試用ライセンスページ

< 以前
C#でスーパーマーケットのレシートをOCRする(開発者チュートリアル)
次へ >
Tesseract OCR 多言語対応(開発者向けチュートリアル)