OCRツール

Tesseract Ocr を Windows で使用する (コード例チュートリアル)

リーガン・パン
リーガン・パン
2022年4月7日
共有:

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にあります。 Tesseract OCRをWindowsにインストールする最初のステップは、使用しているマシンのオペレーティングシステムに対応する.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 セットアップ

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

インストール場所を選択

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

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

インストール場所を選択してください。

コンポーネントを選択

デフォルトでは、ScrollView、Training Tools、Shortcuts作成、およびLanguageデータがすべて選択されています。 特定の理由がない限り、これらすべてを選択したままにしておきます。

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

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

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

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

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

「スタートメニューフォルダを選択」

インストールの最終ステップで、Windowsのショートカット用のTesseract OCRのスタートメニューフォルダーを選択するように求められます。 私はデフォルトの名前「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」ボタンをクリックします。

環境変数にTesseract OCR for Windowsのインストールディレクトリを追加する

Tesseract Ocr Windows 10 related to 環境変数にTesseract OCR for Windowsのインストールディレクトリを...

以上です! .exeインストーラーを実行し、Tesseract OCR for Windowsのインストール場所を環境変数に追加したので、テスト画像でTesseractを実行してインストールが正常に動作しているか確認できます。

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

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

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

Windows用Tesseract OCRのインストールが成功したか確認する

おめでとうございます! Tesseract OCR for Windowsのインストールに成功しました。


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

IronOCRは、Mac、Windows、Linux、Azure、Docker上でTesseract OCRを提供します:

  • .NET Framework 4.0以上
  • .NET Standard 2.0 以上
  • .NET Core 2.0以降
  • .NET 5
  • macOSおよびLinux用Mono
  • macOS用Xamarin

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

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

DLLをインストール

IronOcr DLLを直接あなたのマシンにダウンロードしてください。

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: キーをテストする

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

BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0")
$vbLabelText   $csharpLabel

プロジェクトを始めましょう

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

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

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

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

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

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

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

C#および.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();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

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

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

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

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

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

IronOCR Tesseract for C

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);

   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);

   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)

   Console.WriteLine(Result.Text)

End Using
$vbLabelText   $csharpLabel

IronOCR TesseractのTesseract 4 API

// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
' using IronOcr;

Dim Ocr = New IronTesseract()

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4

Using Input = New OcrInput("images\image.png")


Dim Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

End Using
$vbLabelText   $csharpLabel

なぜIronOCRはTesseractより優れているのか:

正確性

テッセラクト

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

IRONOCR:

IronOCRはこの悩みを取り除きます。 利用者は、最小限の構成で99.8-100%の精度を達成することが多いです。

画像互換性

テッセラクト

Leptonica PIX 画像形式のみを受け入れ、これは C# の IntPtr C++ オブジェクトです。 PIXオブジェクトは管理メモリーではありません— C#で適切に取り扱わないとメモリーリークが発生します。

IRONOCR:

画像はメモリ管理されています。 PDFとTiffに対応。 システム。 すべてのファイル形式に対して、Drawing、Stream、およびByte Arrayが含まれています。

幅広い画像サポート:

  • PDFドキュメント
  • PDFページ
  • マルチフレームTIFFファイル
  • JPEG & JPEG2000
  • GIF
  • PNG
  • System.Drawing.Image
  • バイナリ画像データ(byte [])
  • その他にも様々な機能があります...

パフォーマンス

テッセラクト

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

IRONOCR:

IronOCR .NET Tesseract DLLは、ほとんどの画像に対して正確かつ迅速に動作します。 私たちは、現在ほとんどのマシンで使用されているマルチコアプロセッサを活用するためにマルチスレッドを実装しました。 低解像度の画像でも、あなたのプログラムで高精度に動作することが一般的です。 PhotoShopは不要です。

API

テッセラクト

無料で2つの選択肢があります:

  • Interopレイヤーを扱う — GitHubで見つかるものの多くは、古くなっており、解決されていないチケットやメモリリーク、コンソール警告が存在します。 .NET CoreまたはStandardをサポートしていない可能性があります。
  • コマンドラインEXEで作業する — 導入が困難で、ウイルススキャナーやセキュリティポリシーによって常に中断される。

IRONOCR:

Tesseract用の管理およびテスト済みの.NETライブラリであるIronTesseract。

IntelliSenseサポートが付いた完全なドキュメント。

言語

テッセラクト

100言語のみサポート。

IRONOCR:

127以上の言語に対応。


結論

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

それに対して、IronOCRはわずか1行のコードでこれをはじめ、さらに多くのことができます。 IronOCRがその内部OCRエンジンとしてTesseractを使用しているのは事実です。それは非常に微調整されたTesseractであり、C#用に構築され、多くのパフォーマンス向上や機能が標準で追加されています。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
オンラインOCRコンバーター — 無料オンラインツール
次へ >
Windows 11でのOCR(無料オンラインツール)