2013-03-25 71 views
1

我正在使用Tessnet2程序集(它使用Tesseract)来执行OCR。不幸的是,PROGRAMM崩溃没有任何异常后,我调用init方法:Tessnet2初始化方法与某些tessdata路径崩溃

tessnet2.Tesseract ocr = new tessnet2.Tesseract(); 
ocr.Init(@"D:\Test\Tessdata\german", "deu", false); 

德国文件夹包含以下的Tesseract 2字数据:

  • deu.DangAmgigs
  • deu.freq,耶
  • deu.inttemp
  • deu.normproto
  • deu.pffmtable
  • deu.unicharset
  • deu.user字
  • deu.word-耶

如果我使用null,因为我在我的机器上安装的Tesseract它工作正常的路径。不过,我需要一个解决方案,因为程序将被deplyoed,但不能确保安装tesseract。

+1

如果您安装了Tesseract,安装程序可能已将TESSDATA_PREFIX变量设置为与您不同的路径。该设置保存在Windows的注册表中。所以你可能想要卸载该版本,清理注册表,然后再次尝试你的程序。 – nguyenq 2013-03-25 18:24:59

+0

这是问题所在。我刚刚删除了安装的Tesseract,同时删除了环境变量TESSDATA_PREFIX,它工作正常。谢谢 – andreaspfr 2013-03-27 09:26:35

回答

2

问题是,如果您安装了Tesseract,则会有一个包含tessdata路径的环境变量集(TESSDATA_PREFIX)。要使用自己的路径,必须卸载Tesseract并删除环境变量。

+0

谢谢,这有帮助。顺便说一句,只是为了确认我是否不卸载Tesseract和/或不删除环境变量,而只是在我的C#代码中将其更改为指向我的自定义数据路径,这种影响是否会影响到任何环境已经安装tesseract。因为我注意到,当我注释掉正在更改环境变量的代码时,它会再次在控制台中向我显示原始环境变量值。 – KAL 2015-03-22 17:09:36