Tesseract OCRで文字認識する

C#でTesseract 4を使うサンプルです。

C#のサンプルを探してもTesseract 3を使うものや、TesseractのEXEを実行するものしか見つからなかったので作ってみました。

使っているパッケージはTesseract 4.1.0-beta1。サンプルをあまり見かけないのはこのパッケージがベータ版だからなのでしょうか?

言語データはtessdata_besttessdata_fastからダウンロードできます。

最小限に近いサンプルでエラー処理は一切入っていません。

using System;
using Tesseract;

namespace TesseractSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var imagePath = args[0]; // 対象画像
            var dataPath = args[1]; // 言語データのあるフォルダー
            var lanugage = args[2]; // 言語指定

            using (var image = Pix.LoadFromFile(imagePath))
            {
                using (var engine = new TesseractEngine(dataPath, lanugage))
                {
                    using (var page = engine.Process(image))
                    {
                        var text = page.GetText();
                        Console.WriteLine(text);
                    }
                }
            }
        }
    }
}

プログラム実行例です。

> TesseractSample.exe text.jpg traineddata_folder_path jpn