tesseract ocr文字识别
一.环境搭建 (基于VS2010)
1.下载安装 tesseract-ocr-setup-3.02.02.exe 安装包 ,安装时候最好是在翻墙的情况下安装。(安装一点要勾选 Tesseract development files 选项)。
安装包下载地址:链接:http://pan.baidu.com/s/1pKAbyvp 密码:iicm
2.解压tesseract-3.02.02-win32-lib-include-dirs.zip覆盖到tesseract-ocr安装目录下。
链接:http://pan.baidu.com/s/1cEfU6U 密码:o80p
3.解压DLL.zip(新的VS2010)覆盖tesseract-ocr安装目录下的旧的VS2008的DLL。
链接:http://download.csdn.net/detail/xadxyz/9789395
4.解压中文识别字库到tesseract-ocr安装目录下C:\Tesseract-OCR\tessdata
链接:http://pan.baidu.com/s/1i5ojm1f 密码:oqqb
二.创建工程
1.添加安装目录include和lib路径到VS工程配置
2.示例代码
// TestOCR.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "strngs.h"
#include "baseapi.h"
#include <iostream>
using namespace std; #pragma comment(lib,"libtesseract302d.lib") 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];
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[])
{
tesseract::TessBaseAPI api;
api.Init(NULL,"chi_sim",tesseract::OEM_DEFAULT);
STRING text_out;
api.ProcessPages("test.jpg",NULL,0,&text_out);
cout<<UTF8_To_string(text_out.string()).c_str()<<endl;
system("pause");
return 0;
}
3.识别结果


中文字库的识别错误率还是比较大,需要进一步优化训练字库。
http://blog.csdn.net/problc/article/details/8065011
所有用的到资源下载地址:http://download.csdn.net/detail/xadxyz/9789381
示例工程源码:http://download.csdn.net/detail/xadxyz/9789417
交流QQ:0x7317AF28
tesseract ocr文字识别的更多相关文章
- tesseract ocr文字识别Android实例程序和训练工具全部源代码
tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...
- 我的AI之路 —— OCR文字识别快速体验版
OCR的全称是Optical Character Recoginition,光学字符识别技术.目前应用于各个领域方向,甚至这些应用就在我们的身边,比如身份证的识别.交通路牌的识别.车牌的自动识别等等. ...
- Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)
身份证识别:https://github.com/wenchaosong/OCR_identify 遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库 ...
- OCR文字识别笔记总结
OCR的全称是Optical Character Recognition,光学字符识别技术.目前应用于各个领域方向,甚至这些应用就在我们的身边,比如身份证的识别,交通路牌的识别,车牌的自动识别等等.本 ...
- 怎么给OCR文字识别软件重编文档页面号码
ABBYY FineReader Pro for Mac OCR文字识别软件处理文档时,在FineReader文档中,页面的加载顺序即是页面的导入顺序,完成导入之后,文档的所有页面均会被编号,各编号会 ...
- 对OCR文字识别软件的扫描选项怎么设置
说到OCR文字识别软件,越来越多的人选择使用ABBYY FineReader识别和转换文档,然而并不是每个人都知道转换质量取决于源图像的质量和所选的扫描选项,今天就给大家普及一下这方面的知识. ABB ...
- 怎么提高OCR文字识别软件的识别正确率
在OCR文字识别软件当中,ABBYY FineReader是比较好用的程序之一,但再好的识别软件也不能保证100%的识别正确率,用户都喜欢软件的正确率高一些,以减轻识别后修正的负担,很多用户也都提过这 ...
- OCR文字识别软件许可文件被误删了怎么办
使用任何一款软件,都会有误操作的情况发生,比如清理文件时一不小心删除了许可文件,对于ABBYY FineReader 12这样一款OCR文字识别软件,因失误错误删除了许可文件该怎么办呢?今天就来给大家 ...
- 怎么给OCR文字识别软件设置正确的扫描分辨率
ABBYY FineReader 12是一款专业的OCR文字识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,不仅支持对页扫描,还支持多页扫描,扫描分辨率的选 ...
随机推荐
- Spring集成MyBatis框架
Java在写数据库查询时,我接触过四种方式: 1.纯Java代码,引用对应的数据库驱动包,自己写连接与释放逻辑(可以用连接池) 这种模式实际上性能是非常不错的,但是使用起来并不是非常方便:一是要手工为 ...
- 模拟java的split函数,分割字符串,类似于java的split方法
/*自定义oracle的分割函数*//*定义一个type,用户接收返回的数据集合类型*/create or replace type splitType as table of varchar2(40 ...
- Javascript之深入浅出prototype
我们先来讲一个故事,一个大大的池塘,里面有很多鱼.这是属于我们大家的池塘所以里面的鱼我们都可以吃,但是我们也会从集市买一些鱼放在家里,那么放在家里的鱼肯定是属于我们私人的,外人是不会拥有的.那么在js ...
- Webappbuilder开发快速预览
Webappbuilder开发快速预览 by 李远祥 Webappbuilder for ArcGIS 是由ArcGIS JavaScripit API和dojo创建的,它允许通过创建自己的widge ...
- cmake的命令execute_process
execute_process(COMMAND <cmd1> [args1...]] [COMMAND <cmd2> [args2...] [...]] [WORKING_DI ...
- Android 仿映客直播间给主播发送礼物(实现连击效果)
效果图 类库的介绍 org.dync.giftlibrary.widget GiftAnimationUtil.java 动画类GiftControl.java 给外部调用的类(核心)GiftFram ...
- 【原创】python中文编码问题深入分析(二):print打印中文异常及显示乱码问题分析与解决
在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我 ...
- MAC上配置asp.net core开发环境
安装.NET Core sdk https://www.microsoft.com/net/core#macos 安装VS Code https://code.visualstudio.com/Dow ...
- [TPYBoard-Micropython之会python就能做硬件 5] 学习使用重力传感器及PWM
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板 一块 2 ...
- flask扩展模块flask-sqlachemy 的使用---mysql数据库
该篇博客配置环境为:python版本3.5,flask2.0,python3中已经不再支持MySQLdb模块,所有这里我用了pymysql,所有使用前应该 安装pymysql:pip install ...