我正在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中的具体位置。
答案 0 :(得分:2)
最后,我设法通过在EmguCV中使用Leptonica库来解决问题。我发现的主要问题是Leptonica库的'bitness'与我系统上的EmguCV安装之间的不匹配。
对我来说有用的是将它们设置为在32位环境中使用并为x86机器构建它们。
现在OCR识别级别与Capture2Text中的相同(这对我的应用来说非常准确)。