tesseract 编译与使用(windows)
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)的更多相关文章
- QWT编译与配置-Windows/Linux环境
QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...
- coturn编译运行在Windows平台
turn 编译安装到Windows平台 https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html#windo ...
- 3DSlicer源代码编译过程vs2008+windows xp [转]
一 下载QT源代码编译 1. 简述 在 Windows2000/xp/vista 下,安装 VS2008, QT 4.7.2 :并在 VS2008上建立 QT 的集成开发环境,利用 VS2008 ...
- VIM大作战之C++简易集成编译环境(Windows篇)
一切都要从这篇文章说起 Vim 实在是精致独特得有点像个林妹妹.但谁要是希望家里也有个林妹妹,光把自家丫头照着绣像打扮打扮是不行的,必须从零开始养成一个.而且就算真能养出来个“天上掉下来”一般的可人儿 ...
- python2.7 串口操作方式 编译 .py为windows可运行exe文件
一 python操作串口 首先下载安装串口模块pyserial . 代码实现: import serial ser = serial.Serial('/dev/ttyUSB2', 115200) pr ...
- Win10上编译CoreCLR的Windows和Linux版本
一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...
- VS源码编译QuaZip(Windows下)
最近写个Qt demo,想要使用压缩和解压多个文件的功能,并不使用额外进程.网上参考了很多资料,发现只有QuaZip比较适合我的需求.但是QuaZip只提供源码,因此需要自己来编译. QuaZip简介 ...
- Sublime Test 3 搭建C++11编译环境(Windows)
0. 我的环境: Windows 8.1,Sublime Test 3 - Build 3126,CodeBlocks 16.01. 1. 下载Sublime Test 3,以及安装Package和各 ...
- 编译libevent源代码(Windows)
学习笔记,只是记录本次成功用libevent源代码进行编译.环境为MinGW+VS2008+Msys. 0.下载libevent库 http://libevent.org/ 下载stable稳定版的库 ...
随机推荐
- 隐藏原生html5 video controls
隐藏原生html5 video controls 凤凰视频焦点项目mobile html5播放器测试时bug,由于没有用原生的controls而是自己写的custom controls,虽然设置了co ...
- Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢 ...
- MySQL 数据库的导入 导出
window下 1.导出整个数据库 mysqldump -u root -p smart_anju > Mysmart_anju.sql 2.导出一个表 mysqldump -u root -p ...
- css学习笔记 5
将css引入到html页面中的方法: 用style属性设置样式 用<style>标签设置样式 用<link>标签引入外部样式文件 用@import引入外部样式文件 <li ...
- linux哲学思想
linux哲学思想 1.一切皆为文件 linux将所有的对象几乎都抽象为文件,无论是硬件设备.还是通讯接口都当做文件处理,这样可以设计统一的访问控制操作(read();write();delete() ...
- 使用scanner工具类来获取用户输入的信息
使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...
- ROS的单线程Spinning和多线程Spinning
单线程Spinning ros::spin()是最简单的单线程自旋, 它会一直调用直到结束 用法: ros::spin(); 另一个单线程spinning是ros::spinOnce(),它定期调用 ...
- AngularJS-UI-Router
涉及知识点: $stateProvider,$urlRouteProvider ui-href $stateParams,$state 1.如何引用依赖angular-ui-router angula ...
- ubuntu命令
chmod 777.755 root权限 rm 删除文件 rm -rf 删除文件夹 ctrl+o 保存 ctrl+x 退出 :wq 保存并退出 查看一台服务器上面哪些服务及端口 netstat -l ...
- HDU 4944 FSF’s game(2014 Multi-University Training Contest 7)
思路: ans[n]= ans[n-1] + { (n,1),(n,2).....(n,n)} 现在任务 是 计算 { (n,1),(n,2).....(n,n)}(k=n的任意因子) 很明显 ...