4

我需要对 .jpg 图像进行 OCR。我搜索了很多,最后得到了“tessnet2”。代码看起来很简单,但我的例子有问题:l

当我尝试初始化 ocr 时,我的应用程序退出并且没有返回任何内容。调试,看起来下一行是它退出的地方:

ocr.Init("C:\\Desarrollo\\Prueba\\ConsoleApplication1\\tessdata", "spa", false);

第一个参数是包含“tessdata”的路径,不是吗?第二条路径是我想使用的语言......

在 tessdata 我有它需要的 8 个文件。

我做错了什么?

我正在使用 c# 和 Visual Studio 2010。当我尝试编译它时,我收到了 .net 框架的错误(我使用的是 4.0,它需要 2.0,我减少它并现在编译,但我遇到了这个问题)。

谢谢!

4

3 回答 3

9

我遇到了同样的问题,但我发现我一直在使用 Tesseract 3.0(不是 2.0)的语言文件。当我放置用于 2.0 的文件时,它起作用了。

由于您似乎也在使用 2.0 SDK,请下载 2.0 的语言文件 (http://code.google.com/p/tesseract-ocr/downloads/list)。顶部的文件适用于 3.0。滚动到列表底部。

于 2011-08-06T12:09:35.813 回答
1

我也遇到了同样的问题,方法 tessnet2.Tesseract ocr = new tessnet2.Tesseract(); ocr.Init(@"E:\QAliber\qaliber-code-133\QAliber Engine\OCR\" + @"tessdata\", "eng", false);

Init() 方法失败。它没有给我带来任何错误,但执行只是以退出代码 1 退出。为了解决这个问题,我从正确的版本(对我来说是 2.0)下载了 eng 语言文件,并删除了我找到的注册表中的所有键关键词“tesseract”。然后我重新启动了机器。它程序现在成功执行。现在唯一的问题是我没有得到正确的结果(高度为负)。我会看看它。但我很高兴至少我的程序可以执行。

于 2013-06-07T05:13:19.147 回答
0

我的代码在其他机器上运行良好,但不能在一台机器上运行。我正在使用 VS2010 和框架 3.5。控制从下面的代码中自动退出:

ocr.Init(@"D:\path", "eng", false);

这里 ocr 是 Tesseract() 的实例。

于 2014-11-10T14:08:14.553 回答