gpt4 book ai didi

c# - Emgu.cv 的 Tesseract 对象使用不正确的 OCR 文件路径

转载 作者:太空狗 更新时间:2023-10-29 22:23:50 24 4
gpt4 key购买 nike

我想使用 EMGU.CV 的 Tesseract 对象对一些图片进行 OCR。首先,我下载、编译并运行了他们的 OCR 和 LicensePlateRecognition 示例。

但是,Tesseract 不断抛出以下异常:

Unable to create ocr model using Path 'teseract' and language 'eng'.

然后我追踪到源代码:

_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 构造函数应该对我传递给它的路径做一些事情,所以我错过了什么?

最佳答案

我试过将文件复制到我的应用程序运行的目录,我试过绝对和相对路径,我试过使用 hte 硬编码 C:\Program Files (x86)\Tesseract-OCR\tessdata。他们都不适合我。

我通过执行以下操作让它工作:

  1. 将 tessdata 文件夹复制到我的应用程序运行的地方
  2. 然后指定一个空的 dataPath 参数(显然 tessdata/默认附加到 dataPath)。此代码有效:

_ocr = new Tesseract("", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);

关于c# - Emgu.cv 的 Tesseract 对象使用不正确的 OCR 文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9504987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com