C# と .NET での日本語 OCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

**Other versions of this document: 日本語で

IronOCR は、.NET コーダーが日本語を含む 126 の言語で画像や PDF ドキュメントからテキストを読み取ることを可能にする C# ソフトウェア コンポーネントです。 これは、.NET 開発者専用に構築された Tesseract の高度なフォークであり、速度と精度の両方において他の Tesseract エンジンを常に上回っています。

さまざまなハードウェア プラットフォームでテストされており、ソフトウェア ライブラリは最新バージョンの .NET に更新されています。 アプリやプロジェクトで OCR を実行する必要がある開発者にとって最適な選択肢です。 IronOCR は、多くの言語で動作し、さまざまな方法でアプリケーションに統合できる使いやすい API をアプリケーション開発者に提供します。 IronOCR は 125 の OCR 言語をサポートしています。 素晴らしいOCRツールです。

IronOcr.Languages.Japanese の内容

IronOCR 日本語パッケージは、さまざまな操作を実行します。 このパッケージには、.NET 用のいくつかの OCR 言語が含まれています。

  • 日本語アルファベット
  • 日本語アルファベットベスト
  • 日本語アルファベットファスト
  • 日本語縦書きアルファベット
  • 日本語垂直アルファベットベスト
  • 日本語縦書きアルファベット高速
  • 日本語
  • 日本語ベスト
  • 日本語高速
  • 日本語縦書き
  • 日本語縦向きベスト
  • 日本語縦向き高速

ダウンロード

You can download the IronOCR Japanese Language Pack [日本語 (にほんご)] from the following links:

  • [ Zip ](<a class=)">Zip形式でダウンロード
  • [ NuGet ](<a target=)">NuGetでインストール

次のセクションでは、IronOCR のインストールについて説明します。

日本語にIronOCRを使用する

C# プロジェクトを作成または開く

まず、C# プロジェクトを作成しましょう。 C# プロジェクトを作成するために Visual Studio 2022 を使用しています。好みに応じて任意のバージョンを選択できます。 最新バージョンのVisual Studioがおすすめです。 C# プロジェクトを作成するには、以下の手順に従います。

  • Visual Studio 2022 を開きます。
  • "新しいプロジェクトを作成"ボタンをクリックします。
Chinese Ocr 1 related to C# プロジェクトを作成または開く

検索バーに"Windows"と入力し、検索結果から"Windows フォーム" アプリケーションを選択して*、"次へ"ボタンをクリックします。

Chinese Ocr 2 related to C# プロジェクトを作成または開く
  • プロジェクトに名前を付けます。 プロジェクトに"JapaneseOCR"という名前を付けました。名前を付けたら、"次へ"ボタンをクリックします。
Japanese Ocr 1 related to C# プロジェクトを作成または開く

次の画面で .NET Framework*を選択します。 プロジェクトのニーズに応じて .NET フレームワークを選択します。 このチュートリアルでは、.NET 5.0 バージョンを選択します。

Chinese Ocr 4 related to C# プロジェクトを作成または開く

※選択後、"作成"ボタンをクリックします。 Visual Studio で C# Windows フォーム プロジェクトを簡単に作成できます。

プロジェクトが作成されました! これで、IronOCR ライブラリで使用できるようになりました。 既存の C# プロジェクトでも使用できます。 プロジェクトを開き、IronOCR ライブラリのインストールを開始します。 次のセクションでは、C# プロジェクトに IronOCR ライブラリをインストールする方法について説明します。

インストール

ここで、プロジェクトに IronOCR ライブラリをインストールします。 IronOCR ライブラリは 2 つの方法でインストールできます。 パッケージ マネージャー コンソールと NuGet パッケージ マネージャーを使用して IronOCR をインストールできます。 両方の方法を見てみましょう。

NuGetパッケージマネージャーを使用

NuGet パッケージ マネージャーを使用して IronOCR ライブラリをインストールするには、NuGet パッケージ マネージャー インターフェイスを開く必要があります。 IronOCR ライブラリをインストールするには、次の手順に従います。

  • メイン メニューから [ツール] をクリックし、ドロップダウン メニューから [NuGet パッケージ マネージャー] にマウスを移動して、[ソリューションの NuGet パッケージの管理] を選択します。
Chinese Ocr 5 related to NuGetパッケージマネージャーを使用
  • これにより、NuGet パッケージ マネージャー インターフェイスが開きます。 "参照"タブに移動し、検索バーに"IronOCR Japanese"と入力します。 検索結果から日本語パッケージを選択し、"インストール"ボタンをクリックしてインストールを開始します。
Japanese Ocr 2 related to NuGetパッケージマネージャーを使用
  • ライブラリのインストールが開始されます。 インストール後、プロジェクトで IronOCR ライブラリを使用できるようになります。

パッケージマネージャーコンソールの使用

パッケージ マネージャー コンソールを使用して IronOCR ライブラリをインストールします。 コンソールを使用してライブラリをインストールするのは簡単です。 コンソールを使用して IronOCR ライブラリをインストールする方法を見てみましょう。

  • プロジェクトを開き、Visual Studio のパッケージ マネージャー コンソールに移動します。 通常、Visual Studio の下部にあります。
  • IronOCR 日本語 OCR 言語をインストールするには、コンソールに次のコマンドを入力します。

    PM> Install-Package IronOCR.Languages.Japanese
    PM> Install-Package IronOCR.Languages.Japanese
    SHELL
  • インストールが開始され、コンソールに進行状況が表示されます。 インストール後、ソリューション エクスプローラーの"依存関係"セクションに IronOCR の依存関係が表示されます。

インストール後は、サードパーティのソフトウェアなしでライブラリを使用できるようになります。 次に、プログラムのフロントエンドをセットアップします。

コード例: OCR 用日本語

ここで、日本語用の IronOCR ライブラリを実装するためのコードを記述します。 まず、画像ファイルを選択するためのフロントエンドを開発する必要があります。その方法を見てみましょう。

フロントエンドの開発

フロントエンド開発では、Visual Studio の"ツールボックス"を活用します。 フロントエンドの設計に使用できる既成の要素が多数あります。 識別のために、画像ボックス、リッチ テキスト ボックス、ボタン、および 2 つのラベルを使用します。 ニーズに応じて、これらの要素に適切な形状と優れた UI を与えます。 要素のサイズとプロパティはお好みに合わせて変更できます。出力テキストボックスは編集不可に設定されており、画像ボックスの画像プロパティは"ズーム"に設定されているため、すべての画像が画像ボックスに収まります。 フロントエンドは次のようになります。

Japanese Ocr 3 related to フロントエンドの開発

IronOCRのバックエンドコード

フロントエンドは準備完了です。 いよいよ実装です。まずは、コード内でIronOCRを使用するために、IronOCR名前空間をインポートする必要があります。 ファイルの先頭に次の行を記述します。

using IronOCR;
using IronOCR;
Imports IronOCR
$vbLabelText   $csharpLabel

"画像を選択"ボタンは、日本語の画像を選択する場合に使用します。 画像を選択すると、自動的に画像ボックスに読み込まれ、表示されます。 同時に、IronOCR はアップロードされた画像から日本語の単語を認識し始めます。 プロセスが完了すると、出力がリッチ テキスト ボックスに表示されます。 ボタンをダブルクリックして、これらの機能を追加してみましょう。 以下はボタン機能のコード例です。 また、出力テキストは"txt"ファイルに保存されます。

private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();

    // Display the image selection dialog, and upon successful image selection, proceed
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display selected image in the picture box
        img_image.Image = new Bitmap(open.FileName);

        // Initialize IronTesseract for OCR processing
        var Ocr = new IronTesseract
        {
            // Set the OCR language to JapaneseBest for optimal accuracy
            Language = OcrLanguage.JapaneseBest
        };

        // Using 'OcrInput' to process the selected image file
        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR to extract text from the image
            var Result = Ocr.Read(Input);

            // Display recognized text in the rich text box
            txt_output.Text = Result.Text;

            // Save the output as a text file named "JapaneseText.txt"
            Result.SaveAsTextFile("JapaneseText.txt");
        }
    }
}
private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();

    // Display the image selection dialog, and upon successful image selection, proceed
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display selected image in the picture box
        img_image.Image = new Bitmap(open.FileName);

        // Initialize IronTesseract for OCR processing
        var Ocr = new IronTesseract
        {
            // Set the OCR language to JapaneseBest for optimal accuracy
            Language = OcrLanguage.JapaneseBest
        };

        // Using 'OcrInput' to process the selected image file
        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR to extract text from the image
            var Result = Ocr.Read(Input);

            // Display recognized text in the rich text box
            txt_output.Text = Result.Text;

            // Save the output as a text file named "JapaneseText.txt"
            Result.SaveAsTextFile("JapaneseText.txt");
        }
    }
}
Private Sub btn_image_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim open As New OpenFileDialog()

	' Display the image selection dialog, and upon successful image selection, proceed
	If open.ShowDialog() = DialogResult.OK Then
		' Display selected image in the picture box
		img_image.Image = New Bitmap(open.FileName)

		' Initialize IronTesseract for OCR processing
		Dim Ocr = New IronTesseract With {.Language = OcrLanguage.JapaneseBest}

		' Using 'OcrInput' to process the selected image file
		Using Input = New OcrInput(open.FileName)
			' Perform OCR to extract text from the image
			Dim Result = Ocr.Read(Input)

			' Display recognized text in the rich text box
			txt_output.Text = Result.Text

			' Save the output as a text file named "JapaneseText.txt"
			Result.SaveAsTextFile("JapaneseText.txt")
		End Using
	End If
End Sub
$vbLabelText   $csharpLabel

この関数では、ユーザーがボタンをクリックすると、選択ダイアログボックスが表示され、日本語のテキストを含む画像を選択するように求められます。 ユーザーが画像を選択すると、ビットマップ関数は画像パスを取得し、それを画像ボックスに読み込みます。 ロード後、IronOCR ライブラリを初期化し、言語を日本語に設定します。 IronOCR は画像パスを入力として受け取り、スキャンを開始します。 スキャン後、出力テキストをResult変数に保存し、リッチ テキスト ボックスに出力として表示します。 最後に、出力ファイルを"JapaneseText"という名前の"txt"ファイルとして保存します。

プロジェクトの実行

コードを設計し、バックエンドを実装しました。 ここでプログラムを実行し、機能が正常に動作するかどうかを確認します。

  • プロジェクトを実行するには、緑色の再生ボタンをクリックします。 この画面は、オペレーティング システムの画面の中央に表示されます。
Japanese Ocr 4 related to プロジェクトの実行
  • "画像を選択"ボタンをクリックし、日本語のテキストが含まれる画像を選択します。
Japanese Ocr 5 related to プロジェクトの実行
  • リッチ テキスト ボックスに出力画像テキストが表示されます。
Japanese Ocr 6 related to プロジェクトの実行

※OCR結果のテキストファイルは"JapaneseText"で保存されます。

Japanese Ocr 7 related to プロジェクトの実行

IronOCRのOCR精度は優れています。

まとめ

このチュートリアルでは、日本語テキストに IronOCR ライブラリを使用する方法を学びました。 IronOCR について詳しく知りたい場合は、このリンクをクリックしてください。

Iron Software の詳細については、このリンクをクリックしてください。 IronOCR ライブラリを試してみたい場合は、料金を支払うことなく無料トライアルを有効にすることができます。 Iron Software は現在、5 つのソフトウェア製品スイートをわずか 2 つの価格で購入できる特別オファーを提供しています。 詳細については、ここをクリックしてください。