【问题标题】:How to use other language with tesseract on C# Tesseract 3.02 + Emgu 2.4.9如何在 C# Tesseract 3.02 + Emgu 2.4.9 上使用其他语言与 tesseract
【发布时间】:2013-08-12 08:30:01
【问题描述】:

我的“测试日期”包含: eng.traineddata、eng.cube.bigrams、eng.cube.fold、eng.cube.lm、eng.cube.nn、eng.cube.params eng.cube.size, eng.cube.word-freq, eng.tesseract_cube.nn

rus.traineddata、rus.cube.fold、rus.cube.lm、rus.cube.nn、rus.cube.params、rus.cube.size、rus.cube.word-freq

我在 tessdata 目录中没有“rus.cube.bigrams”和“rus.tesseract_cube.nn”文件。

当我将 'eng' 更改为 'rus' 或 'ita' 时,例如在此代码中,我得到了这个错误“无法使用路径 'tessdata' 和语言 'rus' 创建 ocr 模型”:

私有正方体_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


    【解决方案1】:

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

    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());
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多