【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
来源:互联网 发布:淘宝网店加盟 编辑:程序博客网 时间:2024/05/01 04:20
【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
以下是在原文基础上整理的精简安装使用流程:
一,下载lib和dll
http://download.csdn.net/detail/lutwmiao/9511228
里面包括用到的所有:
tesseract-ocr-3.02.chi_sim.tar.gz 中文语言库
tesseract-3.02.02-win32-lib-include-dirs.zip lib和dll
tesseract-ocr-setup-3.02.02.exe 安装文件
安装tesseract-ocr-setup-3.02.02.exe
二,工程中属性中增加路径
新建工程testOCR,在自己的工程属性中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:\Program Files\Tesseract-OCR\tessdata 下面,就可以支持中文简体字符的识别啦。当然,自己训练出来的 traineddata 文件也是要放在这里的才生效。
四,API 简单 使用方法
注:这里识别的结果需要转换一次!否则会出现乱码!!!
找到二步新建工程的main函数,修改为如下:
#include "baseapi.h"
#include "strngs.h"
#include<iostream>
#pragma comment(lib,"libtesseract302.lib")
using namespace std;
//这里是识别结果UTF8转string
std::string UTF8_To_string(const std::string & str)
{
int nwLen = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0);
wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然会出现尾巴
memset(pwBuf, 0, nwLen * 2 + 2);
MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), pwBuf, nwLen);
int nLen = WideCharToMultiByte(CP_ACP, 0, pwBuf, -1, NULL, NULL, NULL, NULL);
char * pBuf = new char[nLen + 1];
memset(pBuf, 0, nLen + 1);
WideCharToMultiByte(CP_ACP, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);
std::string retStr = pBuf;
delete []pBuf;
delete []pwBuf;
pBuf = NULL;
pwBuf = NULL;
return retStr;
}
int _tmain(int argc, _TCHAR* argv[])
{
//ocr
char * str = "d:要识别的图片.jpg";
tesseract::TessBaseAPI api;
api.Init(NULL, "chi_sim", tesseract::OEM_DEFAULT); //初始化,设置语言包,中文简体:chi_sim;英文:eng;也可以自己训练语言包
//api.SetVariable( "tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" );
STRING text_out;
if (!api.ProcessPages(str, NULL, 0, &text_out))
{
return 0;
}
// cout<<text_out.string();
char* text = api.GetUTF8Text();//识别图像中的文字
std::string aa=UTF8_To_string(text);
cout<<aa.c_str();
return 0;
}
0 0
- 【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
- 【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
- 【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结
- 【Tesseract-OCR】在VS2010环境下调用API方法---简单快速之总结
- OCR之Tesseract在VS2010中的使用
- Tesseract-ocr在vs2008环境下的调用方法
- tesseract-ocr在mac下的使用汇总
- Tesseract-OCR入门使用(2)-VS2010调用API
- Tesseract-OCR入门使用(3)-VS2010编译源码
- Tesseract-OCR在MAC下的安装
- Tesseract-OCR在MAC下的安装
- tesseract-ocr之VS2010下编译所需dll、lib
- tesseract使用的一些方法-ocr
- tesseract-ocr在vs2010下面的安装调试
- 【Tesseract-OCR】在VS2012环境下调用API方法---注意避免名字冲突
- tesseract 在vs2010 下使用API的配置
- tesseract OCR库在vs2010中的调用
- tesseract OCR库在vs2010中的调用
- web.xml加载顺序
- javah,eclipse配置
- MySQL InnoDB 共享表空间和独立表空间
- sublime text3快捷键
- python str.join()
- 【Tesseract-OCR】在VS2010环境下使用的方法---精简快速入门之总结
- Hadoop之——hadoop2.2.0集群搭建
- 相邻最大差值
- 如何调试Python程序
- 怎么实现EDIUS中“老电影”特效的制作
- 实现一个简单类似linux上cat命令的功能函数
- ViewPager的动画切换效果
- 敏捷开发模式下的质量管理
- ios 3D引擎 SceneKit 开发(6) --SCNAction