IRONOCRの使用

OCRレシートデータ抽出(ステップバイステップチュートリアル)

更新済み 2024年1月28日
共有:

IronOCRを使用したレシートOCRは、企業や個人にとって画期的なものです。このプロセスにより、物理的なレシートから重要な情報を抽出し、それをデジタルデータに変換することができます。 この記事では、IronOCR を使用して領収書を最大限に活用する方法をステップバイステップでご紹介します。

OCRの簡単な紹介

光学文字認識(またはOCR)は、画像やスキャンされた文書からテキストを読み取り、理解する技術です。 手書きまたは印刷されたテキストを機械で読み取り可能なテキストに変換することにより、OCRは物理的な文書に含まれる情報を保存、処理、分析することを可能にします。

2. IronOCRの紹介

IronOCRはOCRです(光学文字認識)C#および.NET開発者向けのライブラリ。 以下を日本語に翻訳してください:

開発者が...できるようにします画像からテキストを抽出する, PDFファイル、およびその他のドキュメント形式。 IronOCRは人気のあるTesseract OCRエンジンおよび追加機能を追加することで、レシートのOCRを含むさまざまなアプリケーションに最適な選択肢となります。

データ抽出にIronOCRを使用するメリット

以下は、IronOCRを使用してOCRでレシートのデータを抽出する際の主な利点です。

高精度: IronOCRは優れたOCR API精度を提供し、レシートやその他のドキュメントからの信頼できるデータ抽出を保証します。

多言語サポートIronOCRは125以上の言語に対応しているため、グローバルなアプリケーションに適しています。

使いやすい:このライブラリはシンプルで直感的なAPIを提供しており、開発者がプロジェクトにOCR機能を実装するのを容易にします。

カスタマイズ可能: IronOCRさまざまなオプションを提供します特定のユースケースに最適なデータ抽出を保証するために、OCR結果を微調整します。

4. IronOCRの動作原理

IronOCRは、画像や文書からテキストを認識して抽出するために高度なOCRアルゴリズムを使用します。 様々なフォーマットを処理できます。JPEG、PNG、TIFF、PDFなどが含まれます。 ライブラリは入力ファイルを読み込み、その中のテキストを認識し、抽出されたテキストを文字列として出力します。それはその後、必要に応じて処理されたり保存されたりします。 IronOCR も使用しますコンピュータビジョン最良の結果を得るために。

使用するための前提条件 IronOCR

IronOCRを使用してレシートデータ抽出を開始するには、まずIronOCRパッケージをインストールする必要があります。 これは、.NET 用のパッケージマネージャーである NuGet を通じて簡単に行うことができます。 Visual Studioでプロジェクトを開き、以下の手順に従ってください:

  1. ソリューションエクスプローラーでプロジェクトを右クリックし、「NuGetパッケージの管理」を選択します。

  2. NuGetパッケージマネージャーウィンドウで「IronOCR」を検索します。

  3. IronOcrパッケージを選択し、「インストール」をクリックします。

    OCR レシート データ抽出 (ステップバイステップチュートリアル), 図1: NuGet パッケージ マネージャー UI で IronOCR パッケージを検索

    NuGet パッケージ マネージャー UI で IronOCR パッケージを検索

レシート画像の準備

レシートからデータを抽出する前に、レシート画像の品質が高いことを確認して、レシートOCR APIプロセスの精度を向上させる必要があります。 領収書の良い画像をキャプチャするためのヒントは次のとおりです:

  1. スキャンしたドキュメントを使用してください。 領収書スキャンには高解像度スキャナーを使用できます。

  2. レシートが十分に明るく、影がない状態にしてください。

  3. レシートのひだや折り目をすべて真っ直ぐにし、重要な情報が隠れないようにしてください。

  4. レシート処理を向上させるために、レシート上のテキストが鮮明で滲んでいないことを確認してください。

    領収書のOCRデータ抽出(ステップバイステップチュートリアル)、図2:テキスト抽出のためのサンプル領収書画像

    テキスト抽出のためのサンプル領収書画像

7. 領収書画像にOCRを実行する

IronOCRをインストールし、レシート画像が準備できたら、OCRプロセスを実行する時です。 あなたの .NET アプリケーションで、次のコードスニペットを使用してください:

using IronOcr;

var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    var result = ocr.Read(ocrInput);
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
{
    var result = ocr.Read(ocrInput);
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
	Dim result = ocr.Read(ocrInput)
	Console.WriteLine(result.Text)
End Using
VB   C#

コードの説明

using IronOcr;
using IronOcr;
Imports IronOcr
VB   C#

この行は、IronOCRライブラリを.NETアプリケーションにインポートし、その機能にアクセスできるようにします。

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
VB   C#

この行は、新しいインスタンスを作成しますIronTesseractIronOCRでOCR操作を担当するメインクラス、class。

using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
using (var ocrInput = new OcrInput(@"path/to/your/receipt/image.png"))
Using ocrInput As New OcrInput("path/to/your/receipt/image.png")
VB   C#

ここでは、新しいインスタンスのOcrInput(OCR入力)クラスが作成され、OCRプロセス用の入力画像を表します。 @"path/to/your/receipt/image.png" を実際の領収書イメージのファイルパスに置き換えてください。 using ステートメントは、OCR 操作が完了した後に OcrInput インスタンスに割り当てられたリソースが適切に解放されることを保証します。

var result = Ocr.Read(ocrInput);
var result = Ocr.Read(ocrInput);
Dim result = Ocr.Read(ocrInput)
VB   C#

こちらの行は`読取 (読み取り)もちろん、英語のテキストを教えていただけますでしょうか?OcrInputオブジェクトをパラメータとして渡しつつ、IronTesseractインスタンスのメソッドを使用します。 Read メソッドは入力画像を処理し、OCR 操作を実行して、画像からテキストを認識および抽出します。 領収書認識プロセスを開始します。

Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text);
Console.WriteLine(Result.Text)
VB   C#

最後に、この行は抽出されたテキストをコンソールに出力します。 resultオブジェクトは、次のインスタンスですOcrResultクラスは、認識されたテキストとOCRプロセスに関する追加情報を含みます。 抽出されたテキストは、resultオブジェクトのTextプロパティにアクセスすることで表示できます。

OCRレシートデータ抽出(ステップバイステップチュートリアル)、図3:抽出されたテキストの出力

抽出されたテキストの出力

OCR結果の微調整

IronOCRは、OCRの精度とパフォーマンスを向上させるためのいくつかのオプションを提供しています。 これには、画像の前処理、OCRエンジン設定の調整、および領収書に適した言語の選択が含まれます。

画像前処理

次のような画像前処理技術を適用することにより、OCR結果を向上させることができます:

  1. 傾き補正:画像の回転や傾きを修正します。

  2. ノイズ除去: 画像からノイズを取り除き、テキストの読みやすさを向上させます。

    以下は、これらの技術を適用する方法の例です:

using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise();
    input.DeSkew();

    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
using IronOcr;

var ocr = new IronTesseract();
using (var input = new OcrInput(@"path/to/your/receipt/image.png"))
{
    input.DeNoise();
    input.DeSkew();

    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
}
Imports IronOcr

Private ocr = New IronTesseract()
Using input = New OcrInput("path/to/your/receipt/image.png")
	input.DeNoise()
	input.DeSkew()

	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
End Using
VB   C#

言語選択

IronOCRは125以上の言語をサポートしており、領収書に適切な言語を選択することでOCRの結果を大幅に改善することができます。 コードに以下の行を追加して、言語を指定します:

ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English;
ocr.Configuration.Language = OcrLanguage.English
VB   C#

OCR結果からデータを抽出する

OCRプロセスが完了したので、テキストから特定の情報を抽出する時です。 ご要望に応じて、以下のようなデータを抽出することができます:

  1. 店舗名と住所。

  2. 購入日時。

  3. 商品名と価格。

  4. 小計、税額、および合計金額。

    これを行うには、.NETアプリケーションで正規表現または文字列操作のテクニックを使用できます。 例えば、以下のコードスニペットを使用してOCR結果から日付を抽出することができます:

using System.Text.RegularExpressions;

//Rest of the Code

var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
    var DateValue = DateTime.Parse(DateMatch.Value);
    Console.WriteLine("Date: " + DateValue);
}
using System.Text.RegularExpressions;

//Rest of the Code

var DatePattern = @"\d{1,2}\/\d{1,2}\/\d{2,4}";
var DateMatch = Regex.Match(Result.Text, DatePattern);
if (DateMatch.Success)
{
    var DateValue = DateTime.Parse(DateMatch.Value);
    Console.WriteLine("Date: " + DateValue);
}
Imports System.Text.RegularExpressions

'Rest of the Code

Private DatePattern = "\d{1,2}\/\d{1,2}\/\d{2,4}"
Private DateMatch = Regex.Match(Result.Text, DatePattern)
If DateMatch.Success Then
	Dim DateValue = DateTime.Parse(DateMatch.Value)
	Console.WriteLine("Date: " & DateValue)
End If
VB   C#

レシートから抽出する必要がある他の情報について、同様のパターンを作成することができます。

抽出されたデータの保存と分析

領収書から必要な情報を抽出したら、それをデータベースに保存したり、分析したり、CSV、JSON、Excelなどの他のファイル形式にエクスポートすることができます。

結論

結論として、IronOCRを使用したレシートOCRは、あなたの財務データをデジタル化および管理するための革新的で効率的なソリューションです。 IronOCRを使用すると、手動データ入力を置き換えることができます。 このステップバイステップガイドに従うことで、IronOCRの力を利用して、経費の追跡とデータ分析を改善することができます。 最高の部分は、IronOCRが提供することです無料試用その機能を先に体験することができるので、何のコミットメントも必要ありません。

試用期間終了後、IronOCRの使用を続けることを決定した場合、ライセンスは$749から始まり、アプリケーションでOCR技術の利点を活用するためのコスト効率の高い方法を提供します。

< 以前
Blazorで画像からテキストを読み取る方法
次へ >
コンピュータビジョンによるOCR(例題チュートリアル)