如何在C#tesseract 3.02+Emgu 2.4.9上使用其他语言和tesseract

本文关键字:其他 语言 tesseract C#tesseract 02+Emgu | 更新日期: 2023-09-27 18:27:14

我的'tessdate'包含:eng.traineddata、eng.cube.bigrams、eng.cipe.fold、eng.cub.lm、eng.ctube.nn、eng.cub.paramseng.cube.size、eng.cube.word-freq、eng.tessract_cube.nn

rus.traineddata、rus.cube.fold、rus.cub.lm、rus.ctube.nn、rus.cub.params、rus.cUB.size、rus.ccube.word-freq

我在tessdata目录中没有"rus.cube.bigrams"answers"rus.ttesseract_cube.nn"文件。

当我将"eng"更改为"rus"或"ita"时,我得到了这个错误"无法使用Path‘tessdata’和语言‘rus’创建ocr模型",例如在以下代码中:

私人Tesseract_ocr;

  public LicensePlateDetector(String dataPath)
  {
     //create OCR engine
      _ocr = new Tesseract("tessdata", "rus", Tesseract.OcrEngineMode.OEM_CUBE_ONLY);
     _ocr.SetVariable("tessedit_char_whitelist", "ABCDEFGHIJKLMNOPQRSTUVWXYZ-1234567890");
  }

我哪里搞错了?

如何在C#tesseract 3.02+Emgu 2.4.9上使用其他语言和tesseract

它说在tessdata文件夹中找不到rus语言资源。检查是否已将rus文件的Copy to Output Directory设置为Copy always。此外,我刚刚尝试使用Tesseract.NET包装器。它有更令人愉快的语法:

using (var engine = new TesseractEngine(pathToLangFolder, "rus", EngineMode.Default))
{
    // have to load Pix via a bitmap since Pix doesn't support loading a stream.
    using (var image = new Bitmap(fileName))
    {
        using (var pix = PixConverter.ToPix(image))
        {
            using (var page = engine.Process(pix))
            {
                Console.WriteLine(page.GetMeanConfidence() + " : " + page.GetText());
            }
        }
    }
}