31

你如何在 C# 中使用 Tesseract 的界面对 tiff 文件进行 OCR?
目前我只知道如何使用可执行文件来做到这一点。

4

5 回答 5

40

看看tessnet

于 2008-09-24T14:14:37.003 回答
10

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

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

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

于 2008-08-27T17:26:42.807 回答
7

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

Process process = Process.Start("tesseract.exe", "out");
process.WaitForExit();
if (process.ExitCode == 0)
{
    string content = File.ReadAllText("out.txt");
}
于 2013-06-10T05:36:30.053 回答
6

我今天发现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” 制作了一个非常棒的 youtube 视频,展示了一个简单但有效的解决方案。

于 2013-08-06T00:58:13.717 回答
0

免责声明:我为 Atalasoft 工作

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

于 2009-05-29T12:22:17.700 回答