我试图将Tesseract OCR与我的xHarobur + Borland C ++应用程序集成。在我的测试Win7机器上一切正常但是当我将所有内容移动到目标机器时 - 也就是Win7-应用程序无法加载语言模块(eng.Traineddata)。
简而言之,TessBaseAPIInit3(句柄,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)
我认为列出目标计算机上支持的所有语言模块将是个好主意。
答案 1 :(得分:0)
我想我发现了这个问题。看起来应用程序需要以更高的用户权限执行才能加载语言模块。到目前为止,只要以管理员身份执行,我就能按预期执行。