フッターコンテンツにスキップ
OCRツール
WindowsでのTesseract OCR for .NETの使用方法

Windows用Tesseract Ocr(コード例のチュートリアル)

Tesseract OCRとは何ですか?

Tesseract は、さまざまなオペレーティング システムで使用できる光学文字認識エンジンです。 これは Apache ライセンスに基づいてリリースされたフリーソフトウェアです。 このガイドでは、Windows 10マシンにTesseractをインストールするために私が行った手順を説明します。メジャーバージョン5は現在の安定バージョンであり、2021年11月30日のリリース5.0.0から始まりました。


ステップ 1: .exe ファイルを使用して Windows 10 に Tesseract OCR をインストールします。

言語データをインストールするには: sudo port install tesseract -<langcode> 言語コードのリストは、MacPorts Tesseract の Homebrew ページにあります。 Windows 用 Tesseract OCR をインストールする最初の手順は、お使いのマシンのオペレーティング システムに対応する .exe インストーラーをダウンロードすることです。

ステップ2: インストールを構成する

次に、Tesseract のインストールを構成する必要があります。 自信があり、デフォルトの言語を英語に設定して Windows 用の Tesseract OCR のみを実行したい場合は、すべてのデフォルト オプションを選択した状態でインストール画面を実行すれば機能するはずです。

インストーラーの言語

これはダイアログ ボックスとヘルプ情報の言語のみです。 必要に応じて、Tesseract OCR for Windows を複数の言語で実行できます。

Tesseract Ocr Windows 1 related to インストーラーの言語

Windows 用 Tesseract OCR のインストール言語

Tesseract OCR セットアップ

セットアップ画面では、インストールを続行する前に他のすべてのアプリケーションを閉じることを推奨します。

Tesseract Ocr Windows 2 related to Tesseract OCR セットアップ

Tesseract OCR for Windows のインストール画面。

インストール場所を選択

次にインストール場所を選択します。 次のステップに進む前に、インストール場所を.txtファイルにコピーしておいてください。インストールが完了したら、インストール場所をマシンの環境変数に追加する必要があります。

Tesseract Ocr Windows 3 related to インストール場所を選択

インストール場所を選択します。

コンポーネントの選択

デフォルトでは、ScrollView、トレーニング ツール、ショートカットの作成、言語データがすべて選択されています。 これらをインストールしない特別な理由がない限り、これらすべてを選択したままにしておきます。

Tesseract Ocr Windows 4 related to コンポーネントの選択

Windows 用デフォルトの Tesseract OCR インストール コンポーネント。

下にスクロールして"追加のスクリプト データ"を展開すると、追加のスクリプト データをダウンロードしてインストールするオプションがあることがわかります。 これは、特定のスクリプト言語からのテキスト抽出の精度を向上させるのに役立ちます。 これらをインストールするかどうかはあなた次第です。

Tesseract Ocr Windows 5 related to コンポーネントの選択

オプションのスクリプト インストール コンポーネント。

スタートメニューフォルダーの選択

インストールの最後の手順では、Tesseract OCR for Windows ショートカットのスタート メニュー フォルダーを選択するように求められます。 私はデフォルト名"Tesseract-OCR"のままにしています。

Tesseract Ocr Windows 6 related to スタートメニューフォルダーの選択

Tesseract OCR for Windows ショートカットのスタート メニュー フォルダーを選択します。

インストールをクリックすると、Tesseract OCR for Windows のインストールが開始されます。 次のステップは、インストール パスをマシンの環境変数に追加することです。

ステップ3: 環境変数にインストールパスを追加する

コントロールパネル

インストール場所を環境変数に追加するには、[スタート] メニューに移動して、"環境変数"を検索します。 システム環境変数を編集した結果が表示されます。 そうでない場合は、次の手順をいつでも使用できます:スタート メニュー > コントロール パネル > システム環境変数の編集

Tesseract Ocr Windows 7 related to コントロールパネル

"環境変数"を検索

システムプロパティ

"システムのプロパティ"ダイアログボックスが表示されたら、"詳細設定"タブがクリックされていることを確認し、画面の右下にある"環境変数"ボタンをクリックします。

Tesseract Ocr Windows 8 related to システムプロパティ

環境変数

システム変数の下で、"編集"ボタンをクリックします。

Tesseract Ocr Windows 9 related to 環境変数

"環境変数の編集"画面が表示されたら、"新規"ボタンをクリックし、手順 2 でコピーした Tesseract OCR インストール パスを貼り付けます。完了したら、" OK "ボタンをクリックします。

WindowsインストールディレクトリへのTesseract OCRの追加

Tesseract Ocr Windows 10 related to WindowsインストールディレクトリへのTesseract OCRの追加

それでおしまい! .exe インストーラーを実行し、Tesseract OCR for Windows のインストール場所を環境変数に追加したので、テスト イメージで Tesseract を実行してインストールが機能していることをテストできます。

ステップ4: テスト画像でTesseract OCR for Windowsを実行する

Tesseract OCR for Windows が正常にインストールされたかどうかをテストするには、マシンでコマンド プロンプトを開き、 Tesseractコマンドを実行します。 Tesseract の使用オプションの簡単な説明を含む出力が表示されます。

Tesseract Ocr Windows 11 related to ステップ4: テスト画像でTesseract OCR for Windowsを実行する

Windows 用 Tesseract OCR のインストールが成功したかどうかを確認

おめでとうございます! Tesseract OCR for Windows がマシンに正常にインストールされました。


IronOCR を使用して OCR 作業を行う利点:

IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:

  • .NET Framework 4.0 以上
  • .NET 標準 2.0 以上
  • .NET Core 2.0 以降
  • .NET 5
  • macOSとLinux用のMono
  • macOS 用 Xamarin

IronOCRは、最新のTesseract 5エンジンを使用して、主要な画像およびPDF形式からテキスト、バーコード、QRコードを読み取ります。このライブラリは、デスクトップ、コンソール、Webアプリケーションに数分でOCR機能を追加します。 125以上の国際言語をサポートしています。 Licenses start from $799.

ステップ1:IronOCRの最新バージョンをインストールする

DLLをインストール

Download the IronOcr DLL directly to your machine.

NuGetをインストールする

または、次のコマンドを使用して NuGet 経由でインストールすることもできます。

Install-Package IronOcr

ステップ 2: ライセンス キーを適用する

コードを使用してIronOCRライセンスキーを設定する

IronOCR を使用する前に、このコードをアプリケーションの起動時に追加します。

IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
$vbLabelText   $csharpLabel

ステップ3: キーをテストする

キーが正しくインストールされているか確認してください。

bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
$vbLabelText   $csharpLabel

プロジェクトを始める

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Set the recognition language to English
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
	' Add an example image to the OCR input
	Input.Add("img\example.tiff")

	' Optional: Clean the image before processing
	' Input.DeNoise();
	' Input.Deskew();

	' Read the text from the image
	Dim result As IronOcr.OcrResult = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)

	' Explore the OcrResult using IntelliSense
End Using
$vbLabelText   $csharpLabel

C# for .NET で Tesseract OCR を使用する方法

  • Google TesseractとIronOCR for .NETをVisual Studioにインストールする
  • C#の最新ビルドを確認する
  • レビューの正確性と画像の互換性
  • テストパフォーマンスとAPI機能
  • 多言語サポートを検討する

.NET OCR の使用例 - C# で画像からテキストを抽出する

NuGet パッケージ マネージャーを使用して、IronOCR NuGet パッケージを Visual Studio ソリューションにインストールします。

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Set the recognition language to English
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
    // Add an example image to the OCR input
    Input.Add(@"img\example.tiff");

    // Optional: Clean the image before processing
    // Input.DeNoise();
    // Input.Deskew();

    // Read the text from the image
    IronOcr.OcrResult result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);

    // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Set the recognition language to English
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
	' Add an example image to the OCR input
	Input.Add("img\example.tiff")

	' Optional: Clean the image before processing
	' Input.DeNoise();
	' Input.Deskew();

	' Read the text from the image
	Dim result As IronOcr.OcrResult = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)

	' Explore the OcrResult using IntelliSense
End Using
$vbLabelText   $csharpLabel

C# 用の IronOCR Tesseract

IronOCR では、すべての Tesseract のインストールは NuGet パッケージ マネージャーを使用して実行されます。

Install-Package IronOcr

IronOCR Tesseract の Tesseract 5 API

現在までに、IronTesseract は、.NET Framework または Core 向けの Tesseract 5 の唯一の既知の実装です。

// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
' using IronOcr;

Dim Ocr = New IronTesseract() ' nothing to configure

Using Input = New OcrInput("images\image.png")
	Dim result = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

IronOCR Tesseract の Tesseract 4 API

// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
// using IronOcr;

var Ocr = new IronTesseract();

// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))
{
    var result = Ocr.Read(Input);

    // Output the recognized text
    Console.WriteLine(result.Text);
}
' using IronOcr;

Dim Ocr = New IronTesseract()

' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4

Using Input = New OcrInput("images\image.png")
	Dim result = Ocr.Read(Input)

	' Output the recognized text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

IronOCR が Tesseract より優れている理由:

正確さ

テッセラクト:

Tesseract が回転、傾斜、低 DPI、スキャン、または背景ノイズのある画像に遭遇した場合、Tesseract がその画像からデータを取得することはほぼ不可能になります。 さらに、Tesseract は、意味不明な情報を提供する前にそのドキュメントを処理するのに非常に長い時間がかかります。

アイロノクル:

IronOCR は、この頭痛の種を解消します。 多くの場合、ユーザーは最小限の構成で 99.8 ~ 100% の精度を達成できます。

画像の互換性

テッセラクト:

C# の IntPtr C++ オブジェクトである Leptonica PIX 画像形式のみを受け入れます。 PIX オブジェクトは管理されたメモリではないため、C# で慎重に処理しないとメモリ リークが発生します。

アイロノクル:

画像はメモリ管理されます。 PDF および Tiff がサポートされています。 すべてのファイル形式に、System.Drawing、Stream、および Byte Array が含まれています。

幅広い画像のサポート:

  • PDFドキュメント
  • PDFページ
  • マルチフレームTIFFファイル
  • JPEG および JPEG2000
  • GIF
  • PNG
  • システム.描画.イメージ
  • バイナリ画像データ(バイト[])
  • その他にも多数...

パフォーマンス

テッセラクト:

Google Tesseract は、適切に調整され、入力画像が Photoshop または ImageMagick を使用して前処理されている場合、高速かつ正確な結果を実行できます。

アイロノクル:

IronOcr .NET Tesseract DLL は、ほとんどの画像に対してそのままの状態で正確かつ高速に動作します。 現在ほとんどのマシンで使用されているマルチコア プロセッサを活用するために、マルチスレッドを実装しました。 通常、低解像度の画像でもプログラム内で高い精度で動作します。 Photoshopは必要ありません。

API

テッセラクト:

無料の選択肢は 2 つあります。

  • 相互運用レイヤーを操作します。GitHub にあるものの多くは古くなっており、未解決のチケット、メモリ リーク、コンソールの警告があります。 .NET Core または Standard をサポートしていない可能性があります。
  • コマンドライン EXE で作業します。展開が難しく、ウイルス スキャナーやセキュリティ ポリシーによって頻繁に中断されます。

アイロノクル:

IronTesseract と呼ばれる、Tesseract 用の管理およびテスト済みの .NET ライブラリ。

IntelliSense サポートを備えた完全なドキュメント。

言語

テッセラクト:

100 言語のみをサポートします。

アイロノクル:

125以上の言語をサポートします。


結論

Tesseract は C++ 開発者にとって優れたリソースですが、.NET 用の完全な OCR ライブラリではありません。 スキャンまたは撮影した画像は、Tesseract で正確に処理する前に、直交、標準化、高解像度、デジタル ノイズのない状態に処理する必要があります。

対照的に、IronOCR は、たった 1 行のコードで、これ以上の機能を実行できます。 It is true that IronOCR uses Tesseract for its internal OCR engine, a very finely-tuned Tesseract, built for C#, with a lot of performance improvements and features added as standard.

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