tesseract是google的一个开源OCR项目,项目地址已经迁移到github(现在 2016/09),地址 https://github.com/tesseract-ocr/tesseract

首先使用git将代码clone到本地。使用最新的commit, SHA-1: c943fc1a339d6378f34cccf4ff96949adb2f37ec

编译步骤参考 https://github.com/tesseract-ocr/tesseract/wiki/Compiling

下面是详细步骤和相关问题解决方法

我使用的VS2010

1.安装cmake 并添加到环境变量.下载地址 https://cmake.org/download/

2.安装cppan 并添加到环境变量,下载地址 https://cppan.org/client/cppan-master-win32-client.zip

3.在你本地的源码目录tesseract下执行下列命令

cppan
mkdir build && cd build
cmake .. -DSTATIC=1

 

注意:cppan执行过程中可能需要FANQIANG。

4.在tesseract\build目录下生成了项目文件,使用VS打开tesseract.sln,如下

启动项目是ALL_BUILD,解决方案配置我使用的是 Release。开始编译,当然这过程中会出现一大堆错误和警告,不用理会静静等待编译完成

1.使用可以转换编码格式的工具,将 tesseract\ccmain\equationdetect.cpp 的格式转化下。 我使用的是 Notepad ++ ,格式->转为 ANSI 编码格式

原因:tesseract的源文件的编码格式是UTF-8的,但是中文系统下VS里的代码页编码格式是GB2312

2.bool相关,根据错误信息定位到pvt.cppan.demo.gif这个项目,我的是 pvt.cppan.demo.gif-5.1.4.vcxproj ,双击打开之,然后在项目中找到 stdbool.h,然后将

#define bool    _bool

更换为

#define bool    int

3. snprintf相关,根据错误信息定位到pvt.cppan.demo.tiff这个项目,我的是 pvt.cppan.demo.tiff-4.0.6,双击打开之,然后在项目中找到  tiffiop.h ,定位到

#if !defined(HAVE_SNPRINTF) && !defined(HAVE__SNPRINTF)
#undef snprintf

将下面的3行换成

#define snprintf _snprintf
//extern int snprintf(char* str, size_t size, const char* format, ...);
#endif

然后切换到 tesseract.sln ,清理解决方案重新编译一遍。

然后将 tesseractmain 设为启动项目,编译。

编译步骤到此结束,可执行文件在 tesseract\build\bin\Release 下,但是现在还不能直接用,没有语言包。

语言包下载地址

英文 https://github.com/tesseract-ocr/tessdata/raw/master/eng.traineddata
简中 https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata 
繁中 https://github.com/tesseract-ocr/tessdata/raw/master/chi_tra.traineddata

创建一个tessdata目录,和tesseract.exe同级,将下载的语言包复制到tessdata目录下。然后打开cmd,执行命令就可以看到结果

tesseract.exe test.png -l eng+chi_sim result

test.png 是待识别的图片

-l eng+chi_sim 指定识别语言为英文和简体中文,多语言使用+连接

result 指定输出的文本文件

更多的命令请参考 https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage

tesseract 编译与使用(windows)的更多相关文章

  1. QWT编译与配置-Windows/Linux环境

    QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...

  2. coturn编译运行在Windows平台

    turn 编译安装到Windows平台 https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html#windo ...

  3. 3DSlicer源代码编译过程vs2008+windows xp [转]

    一 下载QT源代码编译 1.  简述   在 Windows2000/xp/vista 下,安装 VS2008, QT 4.7.2 :并在 VS2008上建立 QT 的集成开发环境,利用 VS2008 ...

  4. VIM大作战之C++简易集成编译环境(Windows篇)

    一切都要从这篇文章说起 Vim 实在是精致独特得有点像个林妹妹.但谁要是希望家里也有个林妹妹,光把自家丫头照着绣像打扮打扮是不行的,必须从零开始养成一个.而且就算真能养出来个“天上掉下来”一般的可人儿 ...

  5. python2.7 串口操作方式 编译 .py为windows可运行exe文件

    一 python操作串口 首先下载安装串口模块pyserial . 代码实现: import serial ser = serial.Serial('/dev/ttyUSB2', 115200) pr ...

  6. Win10上编译CoreCLR的Windows和Linux版本

    一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...

  7. VS源码编译QuaZip(Windows下)

    最近写个Qt demo,想要使用压缩和解压多个文件的功能,并不使用额外进程.网上参考了很多资料,发现只有QuaZip比较适合我的需求.但是QuaZip只提供源码,因此需要自己来编译. QuaZip简介 ...

  8. Sublime Test 3 搭建C++11编译环境(Windows)

    0. 我的环境: Windows 8.1,Sublime Test 3 - Build 3126,CodeBlocks 16.01. 1. 下载Sublime Test 3,以及安装Package和各 ...

  9. 编译libevent源代码(Windows)

    学习笔记,只是记录本次成功用libevent源代码进行编译.环境为MinGW+VS2008+Msys. 0.下载libevent库 http://libevent.org/ 下载stable稳定版的库 ...

随机推荐

  1. PHP动态实例化对象并向构造函数传递参数

    在框架开发,模块化开发等场合,我们可能有一种需求,那就是在PHP运行时动态实例化对象. 什么是动态实例化对象呢?我们先来看一下PHP有一种变量函数(可变函数)的概念,例如如下代码: function ...

  2. RedHat下安装Telnet服务端及客户端远程连接配置

    Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力. 配置之前请确保网络连通,如防火墙影响连接,请先关 ...

  3. 不注册Tomcat服务,运行Tomcat不弹出JAVA控制台窗口

    http://blog.csdn.net/yangholmes_blog/article/details/52881296

  4. Sprint1(第三天11.16)

    Sprint1第一阶段 1.类名:软件工程-第一阶段 2.时间:11.14-11.23 3.选题内容:web版-餐厅到店点餐系统 4.团队博客地址: http://www.cnblogs.com/qu ...

  5. SQLServer解析xml到Oracle

    写了一个程序:根据状态位读取SQLserver 中的一张表,下载其中一个字段的值,这个值是XML类型的,然后把这个XML文件的内容插入到另一Oracle数据库,并更新SQLServer表的标志位,表示 ...

  6. (47) odoo详细操作手册

    odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...

  7. 修改XML指定标签的内容

    修改Xml指定标签内容(我这是去掉指定标签内容的空格) 其实就是个很简单的方法,需要的盆友直接拿走. test.xml <?xml version="1.0" encodin ...

  8. .net网站发布后的没有权限及被上传asp漏洞等问题

    前一阶段网站移到阿里云上,发现在线支付出现了问题,也接收不到银行返回的支付信息. 检查了源代码,发现是和支付有关的加密文件位置不对了,以前是放在e盘,现在新的是放在d盘,位置的信息是写死在代码中的.找 ...

  9. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  10. 安装.Net Framework3.5

    Dism /online /enable-feature /featurename:NetFX3 /All /Source:V:\sources\sxs /LimitAccess