2

我正在 EmguCV 中开发 OCR 应用程序。我的目标是实现与 Capture2Text 相同的结果。

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

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

读入源图像 转换为灰度 执行自动否定图像 缩放图像(线性插值) 应用非锐化蒙版 执行 Otsu 二值化

在这两种可能的选择中,哪一种更好?如何?

  1. 在 EmguCV 中使用 Leptonica 库,方法是将其包含在代码中,然后使用相同的参数调用相同的函数。
  2. 尝试查找和使用 EmguCV 中已有的等效功能。

我曾尝试选择选项 1,但无法正确执行。对于第二个选项,我不确定在 EmguCV 中的具体位置。

4

1 回答 1

2

最后,我设法通过在 EmguCV 中使用 Leptonica 库解决了这个问题。我发现的主要问题是 Leptonica 库的“位数”与我系统上的 EmguCV 安装之间的不匹配。

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

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

于 2014-10-07T05:39:28.240 回答