Dan*_*Man 5 c# tesseract emgucv tessnet2
我希望使用EMGU.CV的Tesseract对象在一些图片上进行OCR.首先,我已经下载,编译并运行了他们的OCR和LicensePlateRecognition示例.
但是,Tesseract不断抛出以下异常:
无法使用Path'teseract'和语言'eng'创建ocr模型.
我追溯到源头:
_ocr = new Tesseract(@"tessdata", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);
我尝试用最明显的方法修复它:我给它完整的路径,我将文件复制到'C:\',我确保我的程序的当前目录与tessdata相同.
这些都不起作用,所以我使用procmon并发现它在这里寻找文件:
C:\ Program Files(x86)\ Tesseract-OCR\tessdata
似乎无论我做什么,我都无法从这个位置改变它.(当然,移动那里的文件).这个位置在EMGU.cv的代码中不存在,所以我的猜测是它被编译成Tesseract的代码作为默认值(?).
那么,如何更改Tesseract使用此位置?显而易见的方法是,Tesseract构造函数应该使用我传递给它的路径做某事,所以我错过了什么?
我曾尝试将文件复制到我的应用程序运行时,我已经试过绝对和相对路径的目录,我一直在使用兴田硬编码Ç尝试:\程序文件(x86)\的Tesseract-OCR\tessdata.他们都没有为我工作.
我通过以下方式实现了它:
_ocr = new Tesseract("","eng",Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);