C#で文字認識をする(導入)


Tesseractを使って文字認識(OCR)

インストール
Tesseractの他にも使えそうなのはあった。
  Tesseract.Net.SDK → 個人用の試用版だった
  tesseract.net → よく分からなかった

言語データのダウンロード
言語データを別途準備する必要がある。
英語:tesseract-ocr-3.02.eng.tar.gz
日本語:tesseract-ocr-3.02.jpn.tar.gz

サンプルコード

    class Program
    {
        static void Main(string[] args)
        {
            //言語ファイルの格納先
            string langPath = @"C:\tessdata";

            //言語(日本語なら"jpn")
            string lngStr = "eng";

            //画像ファイル
            var img = new Bitmap(@"C:\Temp\test.jpg");

            using (var tesseract = new Tesseract.TesseractEngine(langPath, lngStr))
            {
                // OCRの実行
                Tesseract.Page page = tesseract.Process(img);

                //表示
                Console.WriteLine(page.GetText());
                Console.ReadLine();
            }
        }
    }

画像ファイル

結果

その他

あらかじめ文字を指定しておけば精度が上がるらしい。
tesseract.SetVariable("tessedit_char_whitelist", "1234567890");
学習機能もあるとのこと