【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
2013-08-11 14:39
465 查看
做字符识别,不能不了解google的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新编译生成适合自己平台的lib和dll,经过近些天的不断搜索和尝试,可算是找了些门路。尤其感谢以下作者的分享带给我的帮助和启发:
cxf7394373的 字符识别Google开源Tesseract-ocr的DLL调用方法
夏梦c的Tesseract3.02简单环境搭建
tsinson的 tesseract下的简单应用
下面开始介绍我的使用经验:
下载
然后进行安装,如此可以方便地省去好多配置细节:如修改环境变量【如果不采用环境变量方式,则需要对于每个工程目录建立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提供的样例工程里面找到】
包含目录 下新增:C:\Program Files\Tesseract-OCR\include\tesseract
库目录 下新增:
C:\Program Files\Tesseract-OCR\lib
Files\Tesseract-OCR\tessdata 下面,就可以支持中文简体字符的识别啦。当然,自己训练出来的traineddata 文件也是要放在这里的才生效。
使用其API的一种模式大致是这样:先包含头文件,连接库;然后再定义一个api类,配置好参数之后提取识别结果
cxf7394373的 字符识别Google开源Tesseract-ocr的DLL调用方法
夏梦c的Tesseract3.02简单环境搭建
tsinson的 tesseract下的简单应用
下面开始介绍我的使用经验:
一,下载lib和dll
可以从这里http://code.google.com/p/tesseract-ocr/downloads/list下载
tesseract-ocr-setup-3.02.02.exe | Windows installer of tesseract-ocr 3.02.02 (including English language data) Featured |
文件
需要注意的是,安装目录下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();
相关文章推荐
- 【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结
- 【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
- 【Tesseract-OCR】在VS2012环境下调用API方法---注意避免名字冲突
- 【Tesseract-OCR】在VS2012环境下调用API方法---注意避免名字冲突
- Tesseract-OCR入门使用(2)-VS2010调用API
- Tesseract-OCR引擎和VS2010工程简单调用
- Tesseract-ocr在vs2008环境下的调用方法
- Window平台使用VS2010简单快速搭建QT开发环境
- 简单vulkan程序的API调用步骤总结
- vs2010调用Tesseract_ocr时遇到的问题
- tesseract OCR 调用的方法例程,from wiki
- 字符识别Google开源Tesseract-ocr的DLL调用方法
- Window平台使用VS2010简单快速搭建QT开发环境
- 简单快速PHP上传文件使用方法总结
- hbase远程api调用, 远程连接开发,环境构建相关问题总结
- 【原】matlab与调用lingo/lindo api的方法以及简单的使用
- 使用Django REST Framework来快速实现API调用服务——上篇(运行环境和模型层)
- VS2010进行远程调试方法总结
- VS2010产生C的dll方法和C#调用方式
- 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结