您的位置:首页 > 其它

【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结

2015-08-10 11:42 525 查看
做字符识别,不能不了解google的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新编译生成适合自己平台的lib和dll,经过近些天的不断搜索和尝试,可算是找了些门路。尤其感谢以下作者的分享带给我的帮助和启发:cxf7394373字符识别Google开源Tesseract-ocr的DLL调用方法夏梦cTesseract3.02简单环境搭建tsinsontesseract下的简单应用 下面开始介绍我的使用经验:

一,下载lib和dll

可以从这里http://code.google.com/p/tesseract-ocr/downloads/list 下载
tesseract-ocr-setup-3.02.02.exeWindows installer of tesseract-ocr 3.02.02 (including English language data) Featured
然后进行安装,如此可以方便地省去好多配置细节:如修改环境变量【如果不采用环境变量方式,则需要对于每个工程目录建立tessdata文件夹,并且里面放置所需要的chi_sim.traineddata等语言包】,也不再需要下载tesseract-3.02.02-win32-lib-include-dirs.zip, 更方便以后训练出自己的traineddata文件需要注意的是,安装目录下lib里面 libtesseract302d.dll 是针对VS2008的,需要用一个vs2010编译出的替换下来才可以在VS2010下正常使用。另外还需要将 liblept168.dll 和 liblept168d.dll两个文件一并下载放到lib里面。 【这三个文件均可以从tsinson提供的样例工程里面找到】

二,修改环境变量Path

在环境变量Path中增加指向安装目录下lib的路径,比如C:\Program Files\Tesseract-OCR\lib ,以便exe运行时能找到所需要的dll

三,工程中属性中增加路径

在自己的工程属性中VC++目录下增加包含目录和库目录,以便VS2010查找文件。例如包含目录 下新增:C:\Program Files\Tesseract-OCR\include\tesseract库目录 下新增:C:\Program Files\Tesseract-OCR\lib

四,增加语言训练包

直接将语言训练包放置在安装目录tessdata文件夹下就好,比如将tesseract-ocr-3.02.chi_sim.tar.gz中的chi_sim.traineddata 文件直接抽取出来放在 C:\ProgramFiles\Tesseract-OCR\tessdata 下面,就可以支持中文简体字符的识别啦。当然,自己训练出来的traineddata 文件也是要放在这里的才生效。

五,API简单使用方法

这里可以参照cxf7394373字符识别Google开源Tesseract-ocr的DLL调用方法使用其API的一种模式大致是这样:先包含头文件,连接库;然后再定义一个api类,配置好参数之后提取识别结果
#include "strngs.h"
#include "baseapi.h"
#pragma  comment(lib,"libtesseract302d.lib")

////////////////
    tesseract::TessBaseAPI  api;  
    api.Init(NULL, "eng", tesseract::OEM_DEFAULT);  //初始化,设置语言包,中文简体:chi_sim;英文:eng;也可以自己训练语言包
    //api.SetVariable( "tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" );  
   
	STRING text_out;  
    if (!api.ProcessPages("kaze.tif", NULL, 0, &text_out))  
    {  
	    //AfxMessageBox("tesseract 处理出现异常");
        return 0;  
    }  	
	cout<<text_out.string();
	cout<<UTF8ToGBK(text_out.string()).c_str();
可参考文档
Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr) http://blog.csdn.net/fksec/article/details/32714639 Tesseract3.02训练生成新的识别语言库的详细步骤 - 科研的起点 http://blog.csdn.net/tuling_research/article/details/41091163 Tesseract3.01 OCR在VS2008环境下的编译使用(1) http://www.cnblogs.com/zsb517/archive/2012/06/03/2532488.html OCR之Tesseract在VS2010中的使用 http://blog.csdn.net/yangbingzhou/article/details/20230533 Tesseract3的常用API http://blog.csdn.net/yangbingzhou/article/details/20231667 tesseract开发,tesseract资源下载 http://www.csdn.net/tag/tesseract Tesseract: TessBaseAPI Class Reference http://tesseract-ocr.repairfaq.org/classTessBaseAPI.html
</pre><pre name="code" class="cpp" style="margin-top: 0px; margin-bottom: 10px; font-size: 13px; line-height: 24.16666603088379px; background-color: rgb(255, 255, 255);">转自:http://www.xuebuyuan.com/515188.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: