C# プロジェクトで OCR を実装する

Muhammad Zeeshan 2023年10月12日
  1. NuGet 参照パッケージを追加
  2. C# で OCR を実装する
C# プロジェクトで OCR を実装する

今日の記事では、C# プログラミング言語を使用してプロジェクトに OCR を実装する方法について説明します。

NuGet 参照パッケージを追加

光学式文字認識 または OCR 操作については、IronOcr パッケージを追加します。 これを行うには、以下の手順に従います。

  • Visual Studio を開き、Console Application を作成して名前を付けます。
  • ソリューション エクスプローラー パネルを右クリックし、NuGet パッケージの管理 を選択します。
  • 参照オプションをクリックし、IronOcrを検索してインストールします。

    IronOcr をインストール

C# で OCR を実装する

次の Tesseract 5 API の例では、画像データをテキストに変換するプロセスである OCR について理解を深めることができます。

まず、次のライブラリをインポートします。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IronOcr;

最初に、Iron Tesseract の新しいオブジェクトを作成し、ocrbyZeeshan という名前を付ける必要があります。

var ocrbyZeeshan = new IronTesseract();

OcrInput 変数のオブジェクトを作成して、1つ以上の画像ファイルを追加できるようにする必要があります。

using (var inputfile = new OcrInput()) {}

OcrInput オブジェクト メソッド AddImage を利用しています。 この関数は、アクセス可能な画像パスを提供することを望んでいます。

using (var inputfile = new OcrInput()) {
  inputfile.AddImage(@"Shani.png");
  var Result = ocrbyZeeshan.Read(inputfile);
  Console.WriteLine(Result.Text);
  Console.ReadKey();
}

Shani.png という名前の使用した画像を以下に示します。

サンプル画像

完全なソース コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using IronOcr;

namespace ImplementOCRbyZeeshan {
  class Program {
    static void Main(string[] args) {
      var ocrbyZeeshan = new IronTesseract();
      ocrbyZeeshan.Language = OcrLanguage.English;
      ocrbyZeeshan.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
      using (var inputfile = new OcrInput()) {
        inputfile.AddImage(@"Shani.png");
        var Result = ocrbyZeeshan.Read(inputfile);
        Console.WriteLine(Result.Text);
        Console.ReadKey();
      }
    }
  }
}

出力:

My Name is Muhammad Zeeshan. Let's code.
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn