4

Tesseract を使用して、典型的なフォント (たとえば、Times New Roman、Arial など。奇妙なフォントはありません) でノイズのない単一の文字を認識したいと考えています。入力画像には文字だけが含まれているため、入力画像のサイズはフォント サイズと同じです。

ページ分割モードを 1 文字に設定しましたが、結果はまだ満足のいくものではなく、エラー率は ~50% です。

Tesseract に自分のフォント サイズを指定すると、結果を改善できると考えました。そのようなパラメータはありますか?また、存在する場合、python-tesseract (Python ラッパー) はこのパラメーターを微調整できますか?

4

1 に答える 1

3

フォント サイズが小さすぎる場合は、イメージの高さと幅を大きくして、tesseract がより正確な出力を提供できるようにします。

        var srcImage1 = System.Drawing.Image.FromFile(@"D:\Image\font_english.jpg");
        var newWidth1 = (int)(srcImage1.Width * 2);
        var newHeight1 = (int)(srcImage1.Height * 2);

        var image  = new Bitmap(srcImage1, new Size(newWidth1, newHeight1));
        var ocr = new Tesseract();

          ocr.Init(@"D:\OCRTEST\tessdata\", "eng", false);
          ocr.SetVariable("tessedit_char_whitelist", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789'?.;=,()");
          var result = ocr.DoOCR(image, Rectangle.Empty);
          foreach (Word word in result)
          {
              Response.Write(word.Text+" ");

          }
于 2014-10-20T10:16:30.393 に答える