【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结
2015-08-10 11:42
525 查看
做字符识别,不能不了解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提供的样例工程里面找到】
一,下载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 |
二,修改环境变量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
相关文章推荐
- Makefile常用函数总结
- ZipUtils-压缩工具类
- 【HDU35350】【Bomb】
- NTOJ-14-会场安排问题(贪心算法)
- java程序的换行符/n怎么写?
- Trace Logging Level
- 在Java中“\t”与空格的区别及其意义
- Django访问量和页面点击数统计
- javaScript改变HTML中的图片元素
- 判断对称矩阵
- HDOJ 2104 hide handkerchief(判断互质)
- [学习笔记]Lingo超经典案例大全
- 【OSS】Object复制
- Django访问量和页面点击数统计
- STM32学习笔记(六) SysTick系统时钟滴答实验(stm32中断入门)
- android ListView内数据的动态添加与删除
- IOS获取各种文件目录路径的方法
- 数据库三大范式
- 实现对话框的小三角
- 解读PHP中的垃圾回收机制