1. 下载lib和dll(所有需要下载的东西在附件里下载)
Ø 首先安装tesseract-ocr-setup-3.02.02.exe文件,我的安装路径为D:\Tesseract-OCR;
Ø 安装完成后解压tesseract-3.02.02-win32-lib-include-dirs.zip文件,将里面的lib和include文件夹复制到Tesseract-OCR目录下;
Ø 最后解压缩 liblept168和VS2010编译出的libtesseract302.rar 文件,将该压缩文件里的三个dll文件复制到Tesseract-OCR\lib目录下,替换该目录下的文档
(原因:该目录下被替换的文档时在VS2008平台下编译生成的,替换的文档则是VS2010平台下生成的,这个事从网上直接找的)
Ø 将chi_sim.traineddata.gz解压缩,然后将chi_sim.traineddata复制到D:\Tesseract-OCR\tessdata下,这是已经有的简体中文训练集
2. 检查并修改环境变量
一般情况下环境安装好tesseract后环境变量就自动配置好了,但是为了确保后面不出错,最好还是检查一下,在环境变量Path中增加指向安装目录下lib的路径,比如D: \Tesseract-OCR\lib ,以便exe运行时能找到所需要的dll。
Ø 还有一步特别重要,就是一定要查看环境变量TESSDATA_PREFIX,将其路径改到D:\Tesseract-OCR\下。
3.然后需要添加包含的库和目录,如下:(我新建的工程名为test)
(1) 在工程(不是解决方案)上单击右键,选择属性,依次单击配置属性——C/C++——常规,在右侧找到附加包含目录,该目录下添加D: \Tesseract-OCR\include\tesseract;
(2) 配置属性——链接器——常规,找到附加库目录,添加D: \Tesseract-OCR\lib
4. 新建一个C++ 工程 ,我建的是一个空的 win3 程序。建好后新建一个CPP 文件 ,添加这几行代码:
#include "baseapi.h"
#include <iostream>
using namespace std;
#pragma comment(lib," D:\\Tesseract-OCR\\lib\\libtesseract302d.lib ")
int main()
{
char * str = "D:\\20.jpg"; //这是要识别图像的绝对路径
tesseract::TessBaseAPI api;
api.Init(NULL, "chi_sim", tesseract::OEM_DEFAULT);
//初始化,设置语言包,中文简体:chi_sim;英文:eng;也可以自己训练语言包
STRING text_out; //定义输出的变量
if (!api.ProcessPages(str, NULL, 0, &text_out))
{
return 0;
}
cout<<text_out.string(); //输出到命令行中
}
然后运行文件,可以发现将识别出的文字显示在了命令行中。