如何在Leptonica中使用Capture2Text中的EmguCV进行预处理

时间:2014-09-17 11:31:35

标签: c# emgucv leptonica

我正在EmguCV中开发一个OCR应用程序。我的目标是获得与Capture2Text相同的结果。

Capture2Text使用Tesseract引擎进行OCR和Leptonica库进行预处理。我们知道EmguCV正在使用Tesseract引擎进行OCR,因此我们只剩下预处理。

Capture2Text中的预处理是通过按以下顺序调用Leptonica的函数并使用特定值来完成的。实际的代码文件在leptonica_util.c uner文件夹中可用... \ Capture2Text_v3.5 \ Capture2Text \ SourceCode \ leptonica_util

读入源图像 转换为灰度 执行自动否定图像 缩放图像(线性插值) 涂上不锐化的面膜 执行Otsu Binarize

在这两个可能的选项中,哪个更好,可以遵循哪些?

  1. 在EmguCV中使用Leptonica库,将其包含在代码中,然后使用相同的参数调用相同的函数。
  2. 尝试查找并使用EmguCV中已有的等效函数。
  3. 我试图选择选项1,但无法正常使用。对于第二种选择,我不确定在EmguCV中的具体位置。

1 个答案:

答案 0 :(得分:2)

最后,我设法通过在EmguCV中使用Leptonica库来解决问题。我发现的主要问题是Leptonica库的'bitness'与我系统上的EmguCV安装之间的不匹配。

对我来说有用的是将它们设置为在32位环境中使用并为x86机器构建它们。

现在OCR识别级别与Capture2Text中的相同(这对我的应用来说非常准确)。