我希望使用 EMGU.CV 的 Tesseract 对象对一些图片进行 OCR。首先,我已经下载、编译并运行了他们的 OCR 和 LicensePlateRecognition 示例。
但是,Tesseract 不断抛出以下异常:
无法使用路径“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 构造函数应该对我传入的路径做一些事情,那么我错过了什么?