Tesseract-ocr在vs2008环境下的调用方法
来源:互联网 发布:java main函数参数 编辑:程序博客网 时间:2024/05/01 00:41
本文将介绍vs平台上如何使用tesseract实现OCR。 tesseract出生于HP实验室,如今由Google负责维护,是最好的开源OCR Engine之一,并且3.0版本以上的都支持中文。官网上有很详细的用英文介绍如何在vs2008上编译生成lib和dll,感兴趣的可以去看看。 使用tesseract-ocr后,又发现tesseract -ocr依赖leptonica,于是,干脆把leptonica也弄弄好了。尤其感谢以下作者的分享带给我的帮助和启发:
cxf7394373的 字符识别Google开源Tesseract-ocr的DLL调用方法
arvin_xiaoting的【图像识别】 图像处理和图像分析(leptonica)leptonica-1.68安装配置 (vs2008)
智慧视觉的【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
一、本文用的是tesseract-ocr-3.02.02的下载地址: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) Featuredhttp://www.leptonica.com/ 可以下载: leptonica-1.68.tar.gz leptonica-1.68-win32-lib-include-dirs.zip //头文件和lib
然后开始安装tesseract-ocr,直接安装在C:\Program Files\Tesseracr-OCR中,如此很方便,省去很多配置,如很多修改环境变量 [如果不采用如下修改环境变量方式,则需要对每个工程目录建立tesseract文件夹,并且在里面放置所需要的chi_sim.traineddata等语言包],也不再需要下载tesseract-3.02.02-win32-lib-include-dirs.zip, 更方便以后训练出自己的traineddata 文件。
解压 leptonica-1.68-win32-lib-include-dirs.zip //头文件和lib,把其中需要的dll放到你的工程目录下。因为运行过程中需要调用liblept168.dll这个动态链接库。否刚的话,肯定会报这个“liblept168.dll找不到”的。 即把liblept168.dll 和 liblept168d.dll这两个文件一并放到C:\Program Files\Tesseracr-OCR\lib里面。
二、修改环境变量Path
在环境变量Path中增加指向安装目录下lib的路径,比如C:\Program Files\Tesseract-OCR\lib ,以便exe运行时能找到所需要的dll
三、工程中属性中增加路径
在自己的工程属性中工具->选项->项目和解决方案->VC++目录下增加包含目录和库目录,以便VS2008查找文件。
在显示以下内容的目录中
包含文件 下新增: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:\Program Files\Tesseract-OCR\tessdata 下面,就可以支持中文简体字符的识别。当然,自己训练出来的sam.traineddata 文件也是要放在这里的才生效。
五、API简单使用方法
所有配置完成后,可以建立工程进行测试。
这里可以参照cxf7394373的 字符识别Google开源Tesseract-ocr的DLL调用方法
使用API的一种模式大致是这样:先包含头文件,连接库;然后再定义一个api类,配置好参数之后提取识别结果
#include <cv.h>
#include <highgui.h>
#include "strngs.h"
#include "baseapi.h"
#include <iostream>
using namespace std;
#pragma comment(lib,"libtesseract302d.lib")
int main()
{
IplImage *img=NULL;
img=cvLoadImage("C:\\Users\\Administrator\\Desktop\\zifu\\tif_AccuractlyLocation\\plate26.jpg",-1);
tesseract::TessBaseAPI api;
api.Init(NULL,"sam",tesseract::OEM_DEFAULT);//初始化,设置语言包,中文简体:chi_sim;英文:eng;也可以自己训练语言包
//api.SetVariable( "tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" );
api.SetImage((unsigned char*)(img->imageData), img->width, img->height,img->nChannels , img->widthStep);//设置图像
char* text = api.GetUTF8Text();//识别图像中的文字
FILE* fout = fopen("txt_file.TXT", "w");
fprintf(fout,"%s\n",text);
fclose(fout);
return 0;
}
- Tesseract-ocr在vs2008环境下的调用方法
- 【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
- 【Tesseract-OCR】在VS2012环境下调用API方法---注意避免名字冲突
- 【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结
- 【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
- 【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
- Tesseract-OCR在MAC下的安装
- Tesseract-OCR在MAC下的安装
- 字符识别Google开源Tesseract-ocr的DLL调用方法
- tesseract OCR 调用的方法例程,from wiki
- Tesseract-ocr在Ubuntu12.04下的安装下详解
- Tesseract OCR的训练方法
- tesseract-ocr在mac下的使用汇总
- OCR----Python调用Tesseract引擎(Ubuntu下)
- tesseract OCR库在vs2010中的调用
- tesseract OCR库在vs2010中的调用
- 在linux下安装tesseract-ocr
- 在vs2013上的编译tesseract-ocr
- 改良的KMP字符串模式匹配算法
- 数据段、代码段、栈区、堆区
- 新浪博客封档篇——为了材米油盐茶醋…
- C/C++中volatile关键字详解
- 判断骨骼动画中是否有相应的动作
- Tesseract-ocr在vs2008环境下的调用方法
- Balanced Number - HDU 3709 数位dp
- 对百度地图API实现智能感知
- Hibernate+Struts+Spring学习总结
- C/C++中const关键字详解
- php多文件上传陷阱
- MVC4 WebAPI——Web API工作方式
- arduino之arduino uno与舵机的使用
- Round Numbers - POJ 3252 数位dp