C#と.NETでの中国語OCR

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

このドキュメントの他のバージョン:

IronOCR は、.NET 開発者が中国語を含む 126 の言語で画像や PDF ドキュメントからテキストを読み取ることができる C# ソフトウェア コンポーネントです。 中国語言語パックには、中国語(簡体字)と中国語(繁体字)の両方の文字が含まれています。

これは、.NET 開発者専用に構築された Tesseract の高度なフォークであり、速度と精度の両方において他の Tesseract エンジンを常に上回っています。 このライブラリでは、中国語を含むさまざまな言語のさまざまな形式の画像や文書を認識できます。 126以上の言語をサポートし、競合他社に比べて高い認識精度を実現しています。 IronOCR の API は、拡張性とカスタマイズを考慮して設計されています。 チューニング データや機能をトラッカーに追加することで、IronOCR のパフォーマンスを向上できます。 IronOCR は多くの光学文字認識技術を使用しており、Windows PC、Linux、macOS、その他のよく知られたプラットフォームで使用できます。

IronOcr.Languages.Chinese の内容

このパッケージには、.NET 用の 126 の OCR 言語が含まれています。

  • 中国語(簡体字)
  • 中国語(簡体字)ベスト
  • 中国語(簡体字)高速
  • 中国語(簡体字)縦書き
  • 中国語(簡体字)縦書きベスト
  • 中国語(簡体字)縦書き高速
  • 中国語(繁体字)
  • 中国語(繁体字)ベスト
  • 中国語(繁体字、高速)
  • 中国語(繁体字)縦書き *中国語繁体字縦向きベスト
  • 中国語(繁体字)縦書き高速

ダウンロード

中国語言語パック [中文 (Zhōngwén)] は次のリンクからダウンロードできます。

  • Zip形式でダウンロード
  • NuGetでインストール

中国語にIronOCRを使用する

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

IronOCR を使い始めるには、C# .NET プロジェクトを作成する必要があります。 この目的のために Visual Studio 2022 を使用しています。 ニーズに応じてバージョンを選択できます。スムーズなエクスペリエンスを実現するには、最新バージョンの Visual Studio が推奨されます。 画像を選択するための GUI インターフェースを作成します。 IronOCR は、画像の直接パスを提供することで、コンソール アプリケーションでも使用できます。 Visual Studio 2022 で C# プロジェクトを作成するには、次の手順を実行します。

  • Visual Studio 2022 を開きます。
  • "新しいプロジェクトを作成"ボタンをクリックします。

Image 1

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

Image 2

  • プロジェクトに名前を付けます。 プロジェクトに"ChineseOCR"という名前を割り当てます。 名前を付けた後、"次へ"ボタンをクリックします。

Image 3

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

Image 4

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

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

インストール

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

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

  • メイン メニューの [ツール] をクリックし、[NuGet パッケージ マネージャー] にマウスを移動して、[ソリューションの NuGet パッケージの管理] を選択します。

Image 5

  • これにより、NuGet パッケージ マネージャー インターフェイスが開きます。 "参照"タブに移動して、IronOCR Chinese を検索します。 検索結果から正しいパッケージを選択し、"インストール"ボタンをクリックしてインストールします。

Image 6

  • ライブラリのインストールが開始されます。 インストール後、プロジェクトで IronOCR ライブラリを使用できるようになります。

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

コンソールを使用するのは常に簡単なオプションです。 パッケージ マネージャー コンソールを使用して IronOCR ライブラリをインストールすることもできます。 IronOCR ライブラリをインストールするには、次の手順に従います。

  • Visual Studio でパッケージ マネージャー コンソールを開きます。 通常、Visual Studio の下部にあります。
  • コンソールで次のコマンドを実行します。

    Install-Package IronOcr.Languages.Chinese
  • コンソールにライブラリのインストールの進行状況が表示されます。 ライブラリが自動的にインストールされます。 インストール後、プロジェクトは IronOCR ライブラリの準備が整います。

コード例: 中国語の OCR

ここで、中国語用の IronOCR ライブラリを実装するためのコードを記述します。 まず、画像ファイルを選択するためのフロントエンドを開発する必要があります。どのように実現するか見ていきましょう。

フロントエンドの開発

"ツールボックス"要素を使用してフロントをデザインします。 ボタン、画像ボックス、リッチ テキスト ボックス、および 2 つのラベルを作成します。 これらの要素をツールボックスからドラッグ アンド ドロップし、Windows フォームに配置します。 必要に応じてこれらの要素を配置します。

ボタンは PC から画像ファイルを選択するために使用され、画像ボックスは選択した画像を読み込み、リッチ テキスト ボックスは出力テキストを表示します。 必要に応じて各要素のサイズを調整できます。 最終的なフロントエンドのデザインは次のようになります。

Image 7

プロジェクトを実行すると、このウィンドウがポップアップ表示されます。 Windows フォームの配置を画面の中央に表示されるように設定しました。

フロントエンドが準備完了です。 ここで、ボタンにバックエンド機能を追加しましょう。

IronOCRのバックエンドコード

まず、ファイルの先頭に次の行を記述して、IronOCR 名前空間をインポートし、コード内で使用できるようにします。

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

画像を選択してピクチャボックスに読み込むには、"画像を選択"ボタンを使用します。 IronOCR は中国語簡体字テキスト画像を処理し、出力テキストをリッチ テキスト ボックスに表示します。 ボタンをダブルクリックして次のコードを記述し、ボタンの機能を追加しましょう。

private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
private void btn_image_Click(object sender, EventArgs e)
{
    OpenFileDialog open = new OpenFileDialog();
    if (open.ShowDialog() == DialogResult.OK)
    {
        // Display image in picture box  
        img_image.Image = new Bitmap(open.FileName);

        var Ocr = new IronTesseract();

        // Set OCR language to Chinese Traditional
        Ocr.Language = OcrLanguage.ChineseTraditional;

        using (var Input = new OcrInput(open.FileName))
        {
            // Perform OCR on the image input
            var Result = Ocr.Read(Input);

            // Output the recognized text
            txt_output.Text = Result.Text;
        }
    }
}
Private Sub btn_image_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim open As New OpenFileDialog()
	If open.ShowDialog() = DialogResult.OK Then
		' Display image in picture box  
		img_image.Image = New Bitmap(open.FileName)

		Dim Ocr = New IronTesseract()

		' Set OCR language to Chinese Traditional
		Ocr.Language = OcrLanguage.ChineseTraditional

		Using Input = New OcrInput(open.FileName)
			' Perform OCR on the image input
			Dim Result = Ocr.Read(Input)

			' Output the recognized text
			txt_output.Text = Result.Text
		End Using
	End If
End Sub
$vbLabelText   $csharpLabel

ユーザーがボタンをクリックすると、画像を選択するためのダイアログが表示されます。 ユーザーが画像を選択すると、その画像は自動的に画像ボックスに読み込まれます。 ピクチャー ボックスで画像を表示するにはBitmapを使用します。 その後、IronOCR は画像を中国語のテキストに変換します。 繁体字中国語でのテキスト認識を行うために、OCR 言語を繁体字中国語に設定しました。 Ocr.Read関数は OCR 結果を処理してResult変数に保存します。 必要に応じて、 SaveAs関数を使用してテキストを PDF、テキスト、または HTML 形式で保存し、IronOCR でサポートされているさまざまな出力形式でファイルを保存できます。

プロジェクトの実行

さて、プロジェクトを実行します。 Visual Studio の [実行] ボタンをクリックします。 次の画面が表示されます。

Image 8

"画像を選択"ボタンをクリックします。 "ファイルの選択"ダイアログボックスが開きます。 画像ファイルを選択してEnterキーを押します。

Image 9

画像をピクチャ ボックスに読み込み、自動的にスキャンして、出力をテキスト ボックスに表示されます。

Image 10

これは選択した画像からの出力です。 IronOCR は PDF ファイルの読み取りとスキャンもサポートしています。 PDF ファイルの編集可能な形式を使用して、IronOCR でテキストをスキャンおよび認識することができ、これはさまざまな言語で実行できます。 IronOCR は既存の PDF ドキュメントを検索可能な PDF にすることもできます。 画像の鮮明さを高めるためにさまざまな画像フィルターを採用しています。 フィルターの一部を以下に示します。

  • Input.Binarize()
  • Input.Contrast()
  • Input.Deskew()
  • Input.DeNoise()
  • Input.Dilate()
  • Input.EnhanceResolution(300)

これらの機能はすべて、文字の視認性を向上させます。 IronOCR はこれらの機能を使用して、検索可能な PDF を作成します。 以下は例です:

using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddPdf("scan.pdf");
    // Clean up twisted pages
    Input.Deskew();
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
	Input.AddPdf("scan.pdf")
	' Clean up twisted pages
	Input.Deskew()
	Dim Result = Ocr.Read(Input)
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

ライセンス

  • PDFs すべての機能を無料でアクティブにご利用いただけます。 IronOCR では、支払いの必要なしに本番環境で使用できる無料トライアルも提供しています。 Iron Software は、わずか 2 つの価格で 5 つのソフトウェア製品スイートを提供する人気のプランを提供しています。 2 つのソフトウェア製品の料金を 1 回支払うだけで、IronPDF と IronXL を含む 5 つの製品すべてを入手できます。 ライセンスに関する詳しい情報は、ここ でご覧いただけます。