【问题标题】:OCR with the Tesseract interface带有 Tesseract 界面的 OCR
【发布时间】:2010-09-07 00:24:41
【问题描述】:

如何在 c# 中使用 Tesseract 的界面对 tiff 文件进行 OCR?
目前我只知道如何使用可执行文件。

【问题讨论】:

  • 您能否指导我如何在 C# 中使用 Tesseract?

标签: c# ocr tesseract


【解决方案1】:

看看tessnet

【讨论】:

  • 这比自己 P/Invoking 要好。
【解决方案2】:

源代码似乎适用于可执行文件,您可能需要重新连接一些东西,以便将其构建为 DLL。我对 Visual C++ 没有太多经验,但我认为通过一些研究应该不会太难。我的猜测是有人可能已经制作了一个库版本,你应该试试谷歌。

在 DLL 文件中包含 tesseract-ocr 代码后,您可以通过 Visual Studio 将该文件导入您的 C# 项目,并让它创建包装类并为您执行所有封送处理工作。如果您无法导入,那么DllImport 将允许您从 C# 代码调用 DLL 中的函数。

然后您可以查看原始可执行文件以找到有关调用哪些函数来正确 OCR tiff 图像的线索。

【讨论】:

    【解决方案3】:

    C#程序启动tesseract.exe,然后读取tesseract.exe的输出文件。

    Process process = Process.Start("tesseract.exe", "out");
    process.WaitForExit();
    if (process.ExitCode == 0)
    {
        string content = File.ReadAllText("out.txt");
    }
    

    【讨论】:

      【解决方案4】:

      我今天发现EMGU 现在包含一个 Tesseract 包装器。虽然 opencv 库的非托管 dll 的数量可能看起来有点令人生畏,但快速复制到输出目录并不能解决问题。从那里开始,实际的 OCR 过程就像三行一样简单:

      Tesseract ocr = new Tesseract(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);
      this.ocr.Recognize(clip);
      optOCR.Text = this.ocr.GetText();
      

      “robomatics”将a very nice youtube video 放在一起,展示了一个简单但有效的解决方案。

      【讨论】:

        【解决方案5】:

        免责声明:我为 Atalasoft 工作

        我们的OCR module supports Tesseract,如果证明不够好,您可以升级到更好的引擎,只需更改一行代码(我们为多个 OCR 引擎提供通用接口)。

        【讨论】:

          猜你喜欢
          • 2013-04-25
          • 2016-07-28
          • 1970-01-01
          • 1970-01-01
          • 2013-07-07
          • 1970-01-01
          • 2019-10-16
          • 1970-01-01
          • 2020-01-21
          相关资源
          最近更新 更多