2015-08-20 60 views
0

我正在尝试将Tesseract OCR与我的xHarobur + Borland C++应用程序集成。在我测试的Win7机器中一切正常,但是当我将所有内容移动到目标机器上时 - 也是Win7-应用程序无法加载语言模块(eng.Traineddata)。Tesseract OCR无法加载语言

简而言之,TessBaseAPIInit3(handle,NULL,“eng”)总是在目标机器上返回0,而它在我的开发机器上完全正常工作。该代码了该行看起来是这样的:

... 
handle := TessBaseAPICreate() 
IF TessBaseAPIInit3(handle, NIL, "eng") != 0 
    logfile("trace.log", {"Tesseract fails to load language module", handle }) 
... 

日志文件确实显示了手柄的有效值预期。因此我们可以安全地假定TessBaseAPICreate()返回一个有效的句柄。

为了调试问题,我在目标机器上安装了Tesseract.exe安装程序,并且能够运行Tesseract.exe命令行获取成功的结果。

我被IT人员告知,安装了我的应用的整个目录也是eng.traineddata所在的位置列入白名单。

任何想法如何调试此问题?

回答

0

我认为列出目标机器上支持的所有语言模块是个好主意。

+0

Ritesh-这是一个好主意。你如何获得所有语言模块的支持?有没有一个API功能来做到这一点? –

+0

@reinaldo你不知道确切的api。但它是图书馆作家揭露apis的一般做法。我想如果你尝试在公共API集中找到,你应该能够找到。 – Ritesh

0

我想我发现了这个问题。似乎应用程序需要以更高的用户权限执行才能加载语言模块。到目前为止,只要以管理员身份执行,我就能够按预期执行。