OCRツール

Tesseractを使用して画像からテキストを取得する方法

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

IronOCRやTesseractのようなライブラリを活用することで、開発者は画像やスキャンされたドキュメントからテキスト情報を抽出するための高度なアルゴリズムや機械学習技術にアクセスできます。 このチュートリアルでは、読者にTesseractライブラリを使用して画像からテキストを抽出する方法を紹介し、その後、IronOCRの独自のアプローチを紹介します。

1. TesseractによるOCR

テキスト:

1.1. Tesseractのインストール

NuGet パッケージ マネージャー コンソールを使用して、次のコマンドを入力してください。

Install-Package Tesseract

あるいは、NuGetパッケージマネージャーを通じてパッケージをダウンロードしてください。

OCRテキスト認識の取得方法、図1:NuGetパッケージマネージャでTesseractパッケージをインストールする

NuGetパッケージマネージャーでTesseractパッケージをインストールする

NuGetパッケージをインストールした後、プロジェクトフォルダーに言語ファイルを手動でインストールして保存する必要があります。 これは、この特定のライブラリの欠点と見なすことができます。

以下をご覧くださいウェブサイト言語ファイルをダウンロードするために。 ダウンロードが完了したら、ファイルを解凍し、「tessdata」フォルダーをプロジェクトのデバッグフォルダーに追加してください。

1.2. Tesseractの使用(クイックスタート)

以下のソースコードを使用して、指定された画像上でOCRを実行することができます:

using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;

var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract

Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
VB   C#

まず、TerreractEngineオブジェクトを作成し、エンジンに言語データをロードする必要があります。その後、Tesseract Pixを使って、目的の画像ファイルをロードします。 次に、この画像を TerreractEngine に渡して、TesseractEngine に用意されている GetText メソッドを使用して、正しい認識テキストを抽出します。 これはコードからの出力です。

テキスト認識を取得する方法、図2:画像から抽出されたテキスト

画像から抽出されたテキスト

テッセラクトに関する考慮事項

  1. Tesseractは、バージョン3.00からテキストのフォーマット出力、OCRの位置データ、およびページレイアウト分析をサポートしています。

  2. TesseractはWindows、Linux、Mac OS Xで利用可能です。 しかし、Tesseractは限られた開発サポートのため、WindowsおよびUbuntuでのみ意図したとおりに動作することが確認されています。

  3. テッセラクトはモノスペーステキストとプロポーショナルスペーステキストを区別することができます。

  4. OCRopusのようなフロントエンドを利用すると、Tesseractはバックエンドとして理想的であり、レイアウト解析のようなより困難なOCR作業に活用できます。

  5. Tesseractの欠点のいくつか:

    • 最新のビルドは、Windows上でコンパイルするように設計されていません。

    • TesseractのC# APIラッパーは頻繁にメンテナンスされておらず、新しいTesseractのリリースに数年遅れています。

    TesseractをC#で学ぶには、こちらをご覧くださいテッセラクトのチュートリアル.

2. IronOCRを使用したOCR

2.1. IronOCRのインストール

次のコマンドをNuGetパッケージマネージャーコンソールに入力してください。

Install-Package IronOcr

NuGetパッケージマネージャーを介してIronOCRライブラリをインストールするか、他の言語向けの追加パッケージをインストールしてください。これらはシンプルで便利に使用できます。

OCRテキスト認識の取得方法、図3: NuGetパッケージマネージャーを介してIronOCRおよび言語パッケージをインストール

NuGetパッケージマネージャーを使用してIronOCRおよび言語パッケージをインストール

2.2. IronOCRの使用

以下は、指定された画像からテキストを認識するためのサンプルコードです。

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())      
{          
    input.LoadImage(@"Demo.png");
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
	input.LoadImage("Demo.png")
	Dim result = ocr.Read(input)
	Console.WriteLine(result.Text)
	Console.ReadKey()
End Using
VB   C#

上記のコードは、インスタンスを作成しますIronTesseractオブジェクト さらに、OcrInput(OCR入力)1つまたは複数の画像ファイルを追加するために、オブジェクトが作成され、ローカルファイルパスが提供されます。LoadImageメソッド。 好きなだけ写真をアップロードできます。 機能性`読取 (読み取り)もちろん、英語のテキストを教えていただけますでしょうか?オブジェクト内IronTesseract画像ファイルを解析し、結果をOCR結果に抽出します。

OCRテキスト認識を取得する方法、図4: IronOCRライブラリを使用して抽出されたテキスト出力

IronOCRライブラリを使用して抽出されたテキスト出力

2.3 IronOCRの考慮事項

  1. IronOCRは、Tesseractライブラリの拡張であり、より高い安定性と精度を提供します。

  2. IronOCRは、テキストコンテンツを読み取ることができますPDFファイル写真も含め、IronOCRは20種類以上の distinct が読めるバーコードおよびQRコード。

  3. 出力はプレーンテキスト、構造化データ、バーコード、またはQRコードとしてレンダリングすることができます。

  4. ライブラリは認識します世界中で127言語.

  5. IronOCRはすべての.NET環境で柔軟に動作します。(コンソール、Web、デスクトップなど)およびMonoやXamarinなどの最新のモバイルフレームワークもサポートしています。Azure (アジュール)(Azure (アジュール))、およびMAUI.

  6. IronOCRは無料試用開発版がより低価格で提供されています。 学ぶライセンスについて詳しく知る.

    詳細なIronOCRチュートリアルについては、こちらをご参照くださいこの記事では、C#で画像からテキストを読み取る方法について説明します。.

< 以前
OCR C# オープンソース(開発者向けリスト)
次へ >
ベストOCR API (最新リストの比較)