Emgu.CV.OCR Unable to create ocr model using Path and language

用Emgu.CV.OCR测试OCR功能时,不管你怎么写地址都报错:Unable to create ocr model using Path and language。

代码

Tesseract xx = new Tesseract();
xx.Init(@"", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);

看官方解释地址格式是tessdata文件夹的父文件夹,且必须以右斜杠结束,可不管怎么试还是报错,各种谷哥度娘,很多博客千篇一律,大部分没说完整。

看了我这篇文章你应该可以解决这个问题了。

这里文件地址的搜索有两种方式,一种是有环境变量时,只找环境变量下的,一种是无环境变量的用指定的。

****检查环境变量:TESSDATA_PREFIX          D:\Program Files\Tesseract-OCR\(我的就是有这个环境变量,但是里面没有放tessdata及文件)

1 、如果有,则里面拷贝tessdata文件夹及内容到环境变量指定的文件夹(D:\Program Files\Tesseract-OCR\下),上面代码就可以正常

2、如果没有,则需要指定地址,可以下面方式指定

          2.1、如代码地址为空,则需要将tessdata拷贝到Bin\Debug目录下(程序运行目录)。

          2.1、如代码地址 xx.Init(@"F:\EmguOcrData\", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY); ,则需要将tessdata拷贝到F:\EmguOcrData目录里面。(注意地址中的最后一个右斜杠不能少)

 

你可能感兴趣的:(Tesseract,Emgu)