VS2010调用tesseract步骤
先说明一下,我的tesseract安装路径为D:\Tesseract-OCR,如果你的安装路径和我不一样,将这份文档里所有的D:\Tesseract-OCR改为你的安装路径即可。
点击下载文件
查了下资料,VS2012的调用方法和2010类似,可以试一下,出了问题再说。 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. 新建一个C++工程,我建的是一个空的win3程序。建好后新建一个CPP文件,
添加这几行代码: #include "strngs.h" #include "baseapi.h" #include <iostream> using namespace std;
#pragma comment(lib,"libtesseract302d.lib") 然后需要添加包含的库和目录,如下:(我新建的工程名为test)
(1) 在工程(不是解决方案)上单击右键,选择属性,依次单击配置属性—
—C/C++——常规,在右侧找到附加包含目录,该目录下添加D: \Tesseract-OCR\include\tesseract;
(2) 配置属性——链接器——常规,找到附加库目录,添加D:
\Tesseract-OCR\lib
4、在前面新建的CPP中加入如下代码: int main() {
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
char * str = "D:\\0_1326268060c8r8.gif"; //这是要识别图像的绝对路径 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(); //输出到命令行中 }
然后运行文件,可以发现将识别出的文字显示在了命令行中。