这是一个很好的工作示例项目; Tesseract OCR Sample (Visual Studio) with Leptonica Preprocessing
Tesseract OCR Sample (Visual Studio) with Leptonica Preprocessing
Tesseract OCR 3.02.02 API 可能会让人感到困惑,因此本文将指导您如何将 Tesseract 和 Leptonica dll 包含到 Visual Studio C++ 项目中,并提供一个示例文件,该文件接受图像路径进行预处理和 OCR。Leptonica 中的预处理脚本将输入图像转换为黑白书籍样式的文本。
设置
要将此内容包含在您自己的项目中,您需要引用头文件和 lib 并复制 tessdata 文件夹和 dlls。
将 tesseract-include 文件夹复制到您项目的根文件夹中。现在在 Visual Studio 解决方案资源管理器中单击您的项目,然后转到 Project>Properties。
VC++ Directories>Include Directories:
..\tesseract-include\tesseract;..\tesseract-include\leptonica;$(IncludePath)
C/C++>Preprocessor>Preprocessor Definitions:
_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
C/C++>Linker>Input>Additional Dependencies:
..\tesseract-include\libtesseract302.lib;..\tesseract-include\liblept168.lib;%(AdditionalDependencies)
现在您可以在项目文件中包含头文件:
#include
#include
现在将 tesseract-include 文件夹中的两个 dll 文件和 tessdata 文件夹中的内容复制到您的项目的输出目录中。
当您初始化 tesseract 时,如果 tessdata 文件夹不是可执行文件的当前目录,则需要指定其父文件夹(!重要)。您可以复制我的脚本,它假设 tessdata 已安装在可执行文件的文件夹中。
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
api->Init("D:\tessdataParentFolder\", ...
示例
您可以编译提供的示例,该示例使用一个命令行参数来指定要使用的图像路径。preprocess() 函数使用 Leptonica 创建黑白书籍副本,使 tesseract 的准确度达到 90%。ocr() 函数展示了 Tesseract API 返回字符串输出的功能。toClipboard() 可用于在 Windows 上保存文本到剪贴板。您可以将这些复制到自己的项目中。