如何在windows上编译tesseract ocr linux

& & & & 做字符识别,不能不了解的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新生成适合自己平台的lib和dll,经过近些天的不断搜索和尝试,可算是找了些门路。尤其感谢以下作者的分享带给我的帮助和启发:cxf7394373的&字符识别Google开源Tesseract-ocr的DLL调用方法夏梦c的Tesseract3.02简单环境搭建tsinson的&tesseract下的简单应用& & & &下面开始介绍我的使用经验:一,下载lib和dll可以从这里/p/tesseract-ocr/downloads/list& 下载tesseract-ocr-setup-3.02.02.exe installer of tesseract-ocr 3.02.02 (including English language data)&&&Featured然后进行安装,如此可以方便地省去好多细节:如修改环境变量【如果不采用环境变量方式,则需要对于每个工程目录建立tessdata,并且里面放置所需要的chi_sim.traineddata等语言包】,也不再需要下载tesseract-3.02.02-win32-lib-include-dirs.zip, 更方便以后训练出自己的traineddata 文件需要注意的是,安装目录下lib里面&libtesseract302d.dll 是针对VS2008的,需要用一个vs2010编译出的替换下来才可以在VS2010下正常使用。另外还需要将&liblept168.dll 和&liblept168d.dll两个文件一并下载放到lib里面。 【这三个文件均可以从tsinson提供的样例工程里面找到】二,修改环境变量Path& & & 在环境变量Path中增加指向安装目录下lib的路径,比如C:\Program Files\Tesseract-OCR\lib &,以便exe运行时能找到所需要的dll三,工程中属性中增加路径& & & 在自己的工程属性中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简单使用方法& & & 这里可以参照cxf7394373的&字符识别Google开源Tesseract-ocr的DLL调用方法使用其API的一种模式大致是这样:先包含头文件,连接库;然后再定义一个api类,配置好参数之后提取识别结果
#include &strngs.h&
#include &baseapi.h&
comment(lib,&libtesseract302d.lib&)
////////////////
tesseract::TessBaseAPI
api.Init(NULL, &eng&, tesseract::OEM_DEFAULT);
//初始化,设置语言包,中文简体:chi_英文:eng;也可以自己训练语言包
//api.SetVariable( &tessedit_char_whitelist&, &ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz& );
STRING text_
if (!api.ProcessPages(&kaze.tif&, NULL, 0, &text_out))
//AfxBox(&tesseract 处理出现异常&);
cout&&text_out.string();
cout&&UTF8ToGBK(text_out.string()).c_str();Tesseract-OCR引擎试用 - 推酷
Tesseract-OCR引擎试用
1,下载:/p/tesseract-ocr/
tesseract-ocr-setup-3.02.02.exe:
安装到目录:C:\Program Files\
2,默认安装时自动带有英文识别库,要识别简体中文,需要下载文件 tesseract-ocr-3.02.chi_sim.tar.gz:
下载后解压,将文件chi_sim.traineddata拷贝到目录:C:\Program Files\Tesseract-OCR\tessdata
3,试试使用Tessract-OCR引擎识别文字:
由于在安装过程中已经自动把目录C:\Program Files\Tesseract-OCR加入到系统环境变量,所以打开cmd控制台,即可输入tesseract执行。
用画图工具弄一张图片试试(图中文字为宋体):
D:\&tesseract 1.jpg 1
Tesseract Open Source OCR Engine v3.02 with Leptonica
识别结果为:gaoqunkai lanky
再弄个中文图片试试(图中文字为宋体):
D:\&tesseract 2.jpg 2 -l chi_sim -psm 7 nobatch
Too many unichars in ambiguity on line
Too many unichars in ambiguity on line
Too many unichars in ambiguity on line
Tesseract Open Source OCR Engine v3.02 with Leptonica
识别结果为:甲华入民其矛口国
D:\&tesseract
Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.
Single options:
-v --version: version info
--list-langs: list available languages for tesseract engine
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
tesseract 图片名 输出文件名 -l 字库文件 -psm pagesegmode 配置文件
tesseract 2.jpg 2 -l chi_sim -psm 7 nobatch
-l chi_sim:表示用简体中文字库
-psm 7:表示告诉tesseract 2.bmp图片只有一行文本,从而可以减少识别错误率,默认为3。
configfile:参数值为tessdata\configs和tessdata\tessconfigs目录下的文件名。
//////////////////////////////////////////////////////////////////////////
/////////////////////以下为编译记录,乱七八糟,就这样了/////////////////////
//////////////////////////////////////////////////////////////////////////
编译leptonica依赖库
一,zlib-1.2.8,无其他依赖,源代码里提供有vs2012打开并编译:
1,解压到D:\leptonica\dep\zlib-1.2.8
2,打开“VS2012 x86 本机工具命令提示”,cd到D:\leptonica\dep\zlib-1.2.8\zlib-1.2.8\contrib\masmx86目录。
3,执行命令:D:\leptonica\dep\zlib-1.2.8\zlib-1.2.8\contrib\masmx86&bld_ml32.bat
4,用vs2012打开工程:D:\leptonica\dep\zlib-1.2.8\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln
5,打开Release的配置,在配置属性 -& 常规,将配置类型改为静态库,MFC的使用改为使用标准 Windows 库,字符集改为使用 Unicode 字符集。C/C++ -& 代码生成,将运行库改为多线程(/MT)。
6,编译生成D:\leptonica\dep\zlib-1.2.8\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatRelease\zlibstat.lib
7,搞定,对应的zlib.h等头文件在D:\leptonica\dep\zlib-1.2.8\zlib-1.2.8目录下。
二,lpng143,依赖zlib,源代码里提供有vs2012打开并编译:
1,解压到D:\leptonica\dep\lpng143
2,打开D:\leptonica\dep\lpng143\lpng143\projects\visualc71\libpng.sln
3,将头文件zconf.h和zlib.h拷贝到D:\leptonica\dep\lpng143\lpng143
4,打开LIB Release的配置,在配置属性 -& 常规,将配置类型改为静态库,MFC的使用改为使用标准 Windows 库,字符集改为使用 Unicode 字符集。C/C++ -& 代码生成,将运行库改为多线程(/MT)。
5,根据编译错误提示:2&LINK : fatal error LNK1181: 无法打开输入文件“D:\leptonica\dep\lpng143\lpng143\projects\visualc71\Win32_LIB_Release\ZLib\zlib.lib”,把库文件zlibstat.lib拷贝到该目录并改名为zlib.lib
6,点击编译,生成文件:libpng.vcxproj -& D:\leptonica\dep\lpng143\lpng143\projects\visualc71\.\Win32_LIB_Release\libpng.lib
三,libjpeg,无其他依赖,源代码里提供有vs2012打开并编译:
1,解压到D:\leptonica\dep\jpegsr8c\jpeg-8c
2,打开“VS2012 x86 本机工具命令提示”,cd到D:\leptonica\dep\jpegsr8c\jpeg-8c目录。
3,执行命令:D:\leptonica\dep\jpegsr8c\jpeg-8c&NMAKE /f makefile.vc setup-v10
4,用vs2012打开工程:D:\leptonica\dep\jpegsr8c\jpeg-8c\jpeg.sln
5,打开Release的配置,在配置属性 -& 常规,将配置类型改为静态库,MFC的使用改为使用标准 Windows 库,字符集改为使用 Unicode 字符集。C/C++ -& 代码生成,将运行库改为多线程(/MT)。
6,编译生成jpeg.vcxproj -& D:\leptonica\dep\jpegsr8c\jpeg-8c\Release\jpeg.lib
四,libtiff,依赖libjpeg和zlib,提供nmake编译:
1,解压到D:\leptonica\dep\tiff-3.9.4\tiff-3.9.4
2,打开“VS2012 x86 本机工具命令提示”,cd到D:\leptonica\dep\tiff-3.9.4\tiff-3.9.4目录。
3,修改nmake.opt
# Uncomment and edit following lines to enable JPEG support.
JPEG_SUPPORT = 1
= D:/leptonica/dep/jpegsr8c/jpeg-8c
JPEG_INCLUDE = -I$(JPEGDIR)
= $(JPEGDIR)/Release/jpeg.lib
# Uncomment and edit following lines to enable ZIP support
# (required for Deflate compression and Pixar log-format)
ZIP_SUPPORT = 1
= D:/leptonica/dep/zlib-1.2.8/zlib-1.2.8/
ZLIB_INCLUDE = -I$(ZLIBDIR)
= $(ZLIBDIR)/contrib/vstudio/vc11/x86/ZlibStatRelease/zlibstat.lib
# Uncomment and edit following lines to enable ISO JBIG support
#JBIG_SUPPORT = 1
= d:/projects/jbigkit
#JBIG_INCLUDE = -I$(JBIGDIR)/libjbig
= $(JBIGDIR)/libjbig/jbig.lib
# Uncomment following line to enable Pixar log-format algorithm
# (Zlib required).
PIXARLOG_SUPPORT = 1
#下面的/MD改为MT
#OPTFLAGS = /Ox /MD /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE
OPTFLAGS = /Ox /MT /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE
4,打开“VS2012 x86 本机工具命令提示”,cd到D:\leptonica\dep\tiff-3.9.4\tiff-3.9.4目录。
5,执行D:\leptonica\dep\tiff-3.9.4\tiff-3.9.4&nmake /f makefile.vc
6,生成D:\leptonica\dep\tiff-3.9.4\tiff-3.9.4\libtiff\libtiff.lib
五,giflib,我不需要,而且又比较麻烦,不编译了,囧。
参考:http://www.leptonica.org/vs2008doc/building-image-libraries.html
编译leptonica库
1,构建好目录:
BuildFolder\
leptonica-1.68\
tiff-3.9.4\
zlib-1.2.8\
2,下载leptonica的Microsoft Visual Studio 2008编译包
/UnOfficialLeptDocs/leptonica/source-downloads.html#microsoft-visual-studio-2008,并解压到leptonica-1.68目录。
3,把D:\leptonica\BuildFolder\leptonica-1.68\src下的所有头文件拷贝到D:\leptonica\BuildFolder\include目录。
4,打开Release的配置,在配置属性 -& 常规,将配置类型改为静态库,MFC的使用改为使用标准 Windows 库,字符集改为使用 Unicode 字符集。C/C++ -& 代码生成,将运行库改为多线程(/MT)。
5,编译,根据出错信息把各个依赖包的头文件拷贝到D:\leptonica\BuildFolder\include目录。
还有一个类似如下出错提示:
..\src\parseprotos.c(552): error C2057: 应输入常量表达式
将对应的static const变量L_BUF_SIZE换为宏定义:
//static const l_int32 L_BUF_SIZE = 512; /* max token size */
#define L_BUF_SIZE 512
6,编译生成D:\leptonica\BuildFolder\leptonica-1.68\vs2008\LIB Release\liblept168-static-mtdll.lib。
参考:http://www.leptonica.org/vs2008doc/building-liblept.html
编译Tesseract-OCR库
1,下载源码:tesseract-ocr-3.02.02.tar.gz和tesseract-ocr-3.02-vs2008.zip
2,将两个包分别解压到
D:\tesseract-ocr-3.02.02
D:\tesseract-ocr-3.02.02\vs2008
注意vs2008在tesseract-ocr目录之下。
3,用vs2012打开vs2008里的tesseract.sln工程文件进行升级。
4,编辑libtesseract302项目属性,在VC++目录的包含目录里添加D:\leptonica\BuildFolder\include
在配置属性 -& 常规,将配置类型改为静态库,MFC的使用改为使用标准 Windows 库。C/C++ -& 代码生成,将运行库改为多线程(/MT)。
5,右键点击libtesseract302项目项目,选择生成。有个错误是源文件equationdetect.cpp里存在unicode字符,所以将该文件转换为unicode格式(用notepad ++的格式菜单,转换为UCS-2 Big Endian编码格式即可)。
正常编译生成:D:\tesseract-ocr-3.02.02\vs2008\LIB_Release\libtesseract302-static.lib
VC程序调用库Tesseract-OCR
5,vc调用库Tesseract-OCR
a,首先下载tesseract-3.02.02-win32-lib-include-dirs.zip:/p/tesseract-ocr/downloads/detail?name=tesseract-3.02.02-win32-lib-include-dirs.zip&can=2&q=
b,将压缩包解压到vc工程对应的目录下(或其他任意目录,比如d:也可以),我这里是vs2012建立的一个mfc工程,也就是在D:\TexasPoker\TexasPoker\tesseract-3.02.02-win32-lib-include-dirs。
c,通过菜单:项目(P) -& 属性(P),打开test属性页。
选择:配置属性 -& VC ++目录,在右边的包含目录和引用目录分别加入tesseract的include目录(D:\tesseract-3.02.02-win32-lib-include-dirs\include)和lib目录(D:\tesseract-3.02.02-win32-lib-include-dirs\lib)。
再选择:配置属性 -& 连接器 -& 常规,在右边的附加库目录加入tesseract的lib目录(D:\tesseract-3.02.02-win32-lib-include-dirs\lib)
再选择:配置属性 -& 连接器 -& 输入,在右边的附加依赖项里加入tesseract的lib库文件,比如静态链接就加入libtesseract302-static.lib。
解决方案配置Debug和Release都需做以上配置操作。
//初始化,设置语言包,中文简体:chi_英文:eng;也可以自己训练语言包
//int rst = m_TessBaseAPI.Init(NULL, &chi_sim&, tesseract::OEM_DEFAULT);
//api.SetVariable( &tessedit_char_whitelist&, &ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz& );
char *str = &username.bmp&;
STRING text_
bool rst2 = m_TessBaseAPI.ProcessPages(str, NULL, 0, &text_out);
if (!rst2)
const char *rst3 = text_out.string();
m_TessBaseAPI.SetImage((unsigned char*)userNameImage-&imageData, userNameImage-&width,
userNameImage-&height, userNameImage-&nChannels, userNameImage-&widthStep);
char *outText = m_TessBaseAPI.GetUTF8Text();
CString rstCString(outText);
fprintf(stderr, &%s&, outText);
delete []outT
m_TessBaseAPI.Clear();
转载请保留地址:
备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来
讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从
,而一些私人性质较强的心情随笔,建议不要转载。
法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以
或书面等方式告知,本站将及时删除相关内容或链接。
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
排版有问题
没有分页内容
视频无法显示
图片无法显示Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr)
Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr)
[摘要:开篇提醒 :本文为自己本创,本文迎接转载,但必需说明本文出处,比方。 “该文援用自 CruiseYoung的:Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr) http://blog.csdn]
开篇提示:本文为本人原创,本文欢迎转载,但必须注明本文出处,例如。
“该文引用自 CruiseYoung的:Visual Studio 2013、TortoiseSVN、TortoiseGit、msysgit编译Tesseract(tesseract-ocr) http://blog.csdn.net/fksec/article/details/”否则说明阁下愿意支付以100元人民币每字计的稿费,敬请留意。
0 Tesseract(tesseract-ocr)的使用
使用见:《Tesseract(tesseract-ocr)在Visual Studio 2013中的使用》一文:http://blog.csdn.net/fksec/article/details/
1 前期准备
1.1 源码下载软件:
Git Extensions:http://sourceforge.net/projects/gitextensions/ msysgit - Git for Windows:/ TortoiseGit:http://download.tortoisegit.org/tgit/ TortoiseSVN:http://tortoisesvn.net/1.2 源码主页地址:
tesseract:/p/tesseract-ocr/
/svn2github/Tesseract tesseract-vs2013:/charlesw/tesseract-vs2012
2 源码下载
2.1 创建“tesseract-build”目录,并切换到“tesseract-build”目录:
2.2 用“TortoiseGit”下载“tesseract-vs2013”,当然也可从以下地址用“Download ZIP”下载:
地址:/charlesw/tesseract-vs2012
注1:该地址来源于:“TutorialSlides.tar”文件包中的“4Downloading.pdf”文件的“第3页”;
注2:安装“TortoiseGit”前,先安装“msysgit”;
2.3 用“TortoiseSVN”下载“tesseract”,由于采用了SVN下载模式,里面包括了所以语言的“tessdata”,整个源码有“1.27G”之巨:
地址:http://tesseract-/svn/trunk/
直接(最新)下载地址:/folderview?id=0B7l10Bj_LprhQnpSRkpGMGV2eE0&usp=sharing &不包括“tessdata”
3 编译准备(一)
3.1 点击“开始”--&&所有程序&--&&Visual Studio 2013&--&&Visual Studio Tools&--&&VS2013 x64 本机工具命令提示&
3.2 切换到目录:
cd tesseract-vs20123.3 编译:
msbuild build.proj
4 编译准备(二)
4.1 切换到&tesseract-build&目录:
4.2 字符集问题:用“Notepad++”打开以下文件,特别是“tesseract-buildtesseract-ocrccmainequationdetect.cpp”文件,在菜单“格式”中选择“以UTF-8格式编码”,保存。注意,不要用“转为UTF-8编码格式”!
tesseract-buildtesseract-ocrccmainequationdetect.cpp tesseract-buildtesseract-ocrccstructlinlsq.cpp4.3 点击“tesseract-ocr”--&右键“TortoiseSVN”--&“应用补丁”--&选择“.tesseract-vs+64bit_support.patch”--&“打开”--&“用原始的路径”--&“修补全部项目(A)”,
此时“tesseract-buildtesseract-ocr”目录下增加了“vs2013”目录。
4.4 拷贝&include&和&lib&:
将“.tesseract-vs2012release”目录下的所有文件,直接拷贝到“tesseract-build”目录;
4.5 用“Visual Studio 2013”打开“tesseract-buildtesseract-ocrvs2013tesseract.sln”;
4.6 解决“无法打开文件‘liblept170d.lib’”问题:
tesseract工程--&属性--&连接器--&常规:
配置:选择&DLL_Debug&;平台:选择&所有平台&
将“附加库目录”项中的“......”改为“......lib$(Platform);”
4.7 “OpenCL”支持:即解决“无法打开包括文件: ‘CL/cl.h’”问题
4.7.1 tesseract工程--&属性--&连接器--&常规:
配置:选择&LIB_OpenCL_Release&;
4.7.1.1 平台:选择&Win32&
将“附加库目录”项中的
“$(AMDAPPSDKROOT)libx86;$(INTELOCLSDKROOT)libx86;”
“$(AMDAPPSDKROOT)libx86;$(INTELOCLSDKROOT)libx86;$(NVSDKCUDA_ROOT)lib$(PlatformName);”
4.7.1.2 平台:选择&x64&
将“附加库目录”项中的
“$(AMDAPPSDKROOT)libx86;$(INTELOCLSDKROOT)libx86;”
“$(AMDAPPSDKROOT)libx86_64;$(INTELOCLSDKROOT)libx64;$(NVSDKCUDA_ROOT)lib$(PlatformName);”
4.7.2 tesseract工程--&属性--&“C/C++”--&常规:
配置:选择&LIB_OpenCL_Release&;平台:选择&所有平台&
在“附加包含目录”项中增加“$(NVSDKCUDA_ROOT)include”
4.7.3 libtesseract303工程--&属性--&“C/C++”--&常规:
配置:选择&LIB_OpenCL_Release&;平台:选择&所有平台&
在“附加包含目录”项中增加“$(NVSDKCUDA_ROOT)include”
4.7.4 根据您机器的显卡安装对应供应商的SDK,请注意“系统平台”的选择
4.7.4.1 AMD ATI显卡:
AMD APP SDK
/tools-and-sdks/opencl-zone/opencl-tools-sdks/amd-accelerated-parallel-processing-app-sdk/
4.7.4.2 NVIDIA显卡:
NVIDIA CUDA
/object/cuda_home_new.html
直接下载页面:
/cuda-downloads
注:块头非常大,有1.08G之巨,如果只是编译的话,建议选择AMD ATI显卡的驱动代替,依据如下:
根据《在Windows下使用OpenCL》:http://blog.csdn.net/qpc/article/details/8034263 一文中的提示,AMD和NVIDIA显卡安装其一即可。
4.7.4.3 Intel显卡:
Intel SDK for OpenCL
/en-us/vcsource/tools/opencl-sdk
直接下载页面,同时下载“Intel SDK for OpenCL Applications”和“Drivers/Runtime Support”:
/opencl/receipt.php?language=english&id=53a3e7f703176
注1:先安装“Drivers/Runtime Support”,再安装“Intel SDK for OpenCL Applications”;
注2:参考:OpenCL(TM) Drivers and Runtimes for Intel(R) Architecture
/en-us/articles/opencl-drivers
4.7.5 添加环境变量(以Windows 7为例):
&桌面&--&“计算机”--&“高级系统设置”--&“高级”选项卡--&“环境变量”--&“系统变量(s)”--&“新建”;
在“新建系统变量”框中,根据5.4节所安装的显卡SDK填入对应内容(如下),一直点击“确定”,最后重启。
4.7.5.1 AMD ATI显卡:
变量名(N):AMDAPPSDKROOT
变量值(V):C:Program Files (x86)AMD APP SDK2.9
4.7.5.2 NVIDIA显卡:
变量名(N):NVSDKCUDA_ROOT
变量值(V):C:Program FilesNVIDIA GPU Computing ToolkitCUDAv6.0
4.7.5.3 Intel显卡:
变量名(N):INTELOCLSDKROOT
变量值(V):C:Program Files (x86)IntelOpenCL SDK4.4
5.1 直接用“Visual Studio 2013”编译--别说您不会哦
5.2 切换到“tesseract-build”目录:命令如下:
cd /d F:迅雷下载tesseract-ocrtesseract-3.03-rc1tesseract-build5.3 新建tesseract库目录:本例以“D:commtesseract”目录为目的,并新建“bin”、“include”、“lib”子目录;命令如下:
mkdir D:comm
mkdir D:commtesseract mkdir D:commtesseractinclude mkdir D:commtesseractlib mkdir D:commtesseractbin 5.4 头文件提取;根据“tesseract-3.02.02-win32-lib-include-dirs.zip”文件以及“tesseract-buildtesseract-ocrvs2008tesshelper.py”的内容分析,我们将拷贝以下目录的同名文件;
“tesseract-buildtesseract-ocrapi”目录:
apitypes.h baseapi.h capi.h renderer.h “tesseract-buildtesseract-ocrccmain”目录:
ltrresultiterator.h pageiterator.h resultiterator.h thresholder.h“tesseract-buildtesseract-ocrccstruct”目录:
publictypes.h“tesseract-buildtesseract-ocrccutil”目录:
basedir.h errcode.h fileerr.h genericvector.h helpers.h host.h memry.h ndminx.h params.h platform.h serialis.h strngs.h tesscallback.h unichar.h unicharmap.h unicharset.h“tesseract-buildtesseract-ocrvs2013include”目录:(注意:要与您编译的VS版本配对)
leptonica_versionnumbers.props tesseract_versionnumbers.props“tesseract-buildinclude”目录及“tesseract-buildincludeleptonica”目录:
所有文件命令如下:
mkdir D:comm
mkdir D:commtesseract mkdir D:commtesseractinclude
mkdir D:commtesseractincludetesseract mkdir D:commtesseractincludetesseractvs2013 mkdir D:commtesseractincludetesseractvs2013include
copy /Y tesseract-ocrapiapitypes.h D:commtesseractincludetesseract copy /Y tesseract-ocrapibaseapi.h D:commtesseractincludetesseract copy /Y tesseract-ocrapicapi.h D:commtesseractincludetesseract copy /Y tesseract-ocrapirenderer.h D:commtesseractincludetesseract
copy /Y tesseract-ocrccmainltrresultiterator.h D:commtesseractincludetesseract copy /Y tesseract-ocrccmainpageiterator.h D:commtesseractincludetesseract copy /Y tesseract-ocrccmainresultiterator.h D:commtesseractincludetesseract copy /Y tesseract-ocrccmainthresholder.h D:commtesseractincludetesseract
copy /Y tesseract-ocrccstructpublictypes.h D:commtesseractincludetesseract
copy /Y tesseract-ocrccutilbasedir.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilerrcode.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilfileerr.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilgenericvector.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilhelpers.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilhost.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilmemry.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilndminx.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilparams.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilplatform.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilserialis.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilstrngs.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutiltesscallback.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilunichar.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilunicharmap.h D:commtesseractincludetesseract copy /Y tesseract-ocrccutilunicharset.h D:commtesseractincludetesseract
copy /Y tesseract-ocrvs2013includeleptonica_versionnumbers.props D:commtesseractincludetesseractvs2013include copy /Y tesseract-ocrvs2013includetesseract_versionnumbers.props D:commtesseractincludetesseractvs2013include
xcopy /E /H /R include* D:commtesseractinclude xcopy /E /H /R includeleptonica* D:commtesseractincludeleptonica 5.5 库文件提取:在“tesseract-buildtesseract-ocrvs2013bin”目录下;命令如下:
mkdir D:comm
mkdir D:commtesseract mkdir D:commtesseractlib
mkdir D:commtesseractlibWin32 mkdir D:commtesseractlibx64
xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Debug*.lib D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Debug*.exp D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Debug*.pdb D:commtesseractlibWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Release*.lib D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Release*.exp D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Release*.pdb D:commtesseractlibWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Debug*.lib D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Debug*.exp D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Debug*.pdb D:commtesseractlibWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Release*.lib D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Release*.exp D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Release*.pdb D:commtesseractlibWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_OpenCL_Release*.lib D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_OpenCL_Release*.exp D:commtesseractlibWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_OpenCL_Release*.pdb D:commtesseractlibWin32
xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Debug*.lib D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Debug*.exp D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Debug*.pdb D:commtesseractlibx64
xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Release*.lib D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Release*.exp D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Release*.pdb D:commtesseractlibx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Debug*.lib D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Debug*.exp D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Debug*.pdb D:commtesseractlibx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Release*.lib D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Release*.exp D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Release*.pdb D:commtesseractlibx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_OpenCL_Release*.lib D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_OpenCL_Release*.exp D:commtesseractlibx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_OpenCL_Release*.pdb D:commtesseractlibx64
xcopy /E /H /R libWin32*.lib D:commtesseractlibWin32 xcopy /E /H /R libx64*.lib D:commtesseractlibx645.6 执行文件提取:(包括dll文件)在“tesseract-buildtesseract-ocrvs2013bin”目录下;命令如下:
mkdir D:comm
mkdir D:commtesseract mkdir D:commtesseractlib
mkdir D:commtesseractbinWin32 mkdir D:commtesseractbinx64
xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Debug*.exe D:commtesseractbinWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Debug*.dll D:commtesseractbinWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Release*.exe D:commtesseractbinWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32DLL_Release*.dll D:commtesseractbinWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Debug*.exe D:commtesseractbinWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Debug*.dll D:commtesseractbinWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Release*.exe D:commtesseractbinWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_Release*.dll D:commtesseractbinWin32
xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_OpenCL_Release*.exe D:commtesseractbinWin32 xcopy /E /H /R tesseract-ocrvs2013binWin32LIB_OpenCL_Release*.dll D:commtesseractbinWin32
xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Debug*.exe D:commtesseractbinx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Debug*.dll D:commtesseractbinx64
xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Release*.exe D:commtesseractbinx64 xcopy /E /H /R tesseract-ocrvs2013binx64DLL_Release*.dll D:commtesseractbinx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Debug*.exe D:commtesseractbinx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Debug*.dll D:commtesseractbinx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Release*.exe D:commtesseractbinx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_Release*.dll D:commtesseractbinx64
xcopy /E /H /R tesseract-ocrvs2013binx64LIB_OpenCL_Release*.exe D:commtesseractbinx64 xcopy /E /H /R tesseract-ocrvs2013binx64LIB_OpenCL_Release*.dll D:commtesseractbinx64
xcopy /E /H /R libWin32*.exe D:commtesseractbinWin32 xcopy /E /H /R libWin32*.dll D:commtesseractbinWin32
xcopy /E /H /R libx64*.exe D:commtesseractbinx64 xcopy /E /H /R libx64*.dll D:commtesseractbinx64
6 参考文档
6.1 tesseract-buildtesseract-vs2012README.
6.2 “TutorialSlides.tar”文件包中的“4Downloading.pdf”文件,以及“tesseract-tutorial-demos.tar.gz”
下载地址:/folderview?id=0B7l10Bj_LprhQnpSRkpGMGV2eE0&usp=sharing
6.3 “tesseract-buildtesseract-ocrvs2008doc”目录内的文档
Setting up Tesseract-OCR — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-/svn/trunk/vs2008/doc/setup.html#using-the-latest-tesseractocr-sources
Building Tesseract-OCR — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-/svn/trunk/vs2008/doc/building.html
Handy free tools — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-/svn/trunk/vs2008/doc/tools.html
Maintaining the VS2008 directory — Visual Studio 2008 Developer Notes for Tesseract-OCR
http://tesseract-/svn/trunk/vs2008/doc/maintenance.html
Visual Studio 2010 Notes — Leptonica Documentation v1.68 documentation
http://tpgit.github.io/UnOfficialLeptDocs/vs2008/vs2010-notes.html
6.4 How to build Tesseract 3.03 with Visual Studio 2013 | vorba.ch
http://vorba.ch/2014/tesseract-3.03-vs2013.html
6.5 tesseract4java/tesseract-vs2013
/tesseract4java/tesseract-vs2013
6.6 MSBuild 命令行参考
/zh-cn/library/ms164311.aspx
6.7 在 Windows 下使用 OpenCL_南冠彤
.cn/s/blog_4ae178ba01012vxu.html
6.8 AMD GPU+VS2010的OpenCL配置_追梦人_小山
.cn/s/blog_7e2e98ad0101cwr1.html
6.9 解决方案:无法打开包括文件:“CL/cl.h”: No such ...
6.10 OpenCL编程环境配置
7 扩展一:tesseract.exe 的使用
tesseract FileFullPath outputBase [-l lang] [-psm pagesegmode] [configfile....]
FileFullPath: & & &图像文件的全路径
outputBase: & & & 输出的txt 文件的路径和名称,不包含后缀名
-l lang: & & & & & & & & 指定语言包 -l eng(英文) -l chi_sim(中文简体)
pagesegmode Values:
0:仅仅按照方向进行脚本检测
1:自动页面剪切,并进行按方向脚本检测
2:自动页面剪切,但是不进行按方向脚本检测,不进行识别
3:全自动页面剪切,但是不按方向进行脚本检测(default)
4:假设一栏文本时可变大小
5:假设一个单一的均匀块垂直对齐的文本
6:假设一个单一的均匀块文本
7:把图像作为一个单一的文本行
8:把图像作为一个单独的词
9:把图像作为一个词在一个圆圈里
10:把图像作为一个单独的字符
8 扩展二:AMD OpenCL大学课程
AMD OpenCL大学课程是非常好的入门级OpenCL教程,通过看教程中的PPT,我们能够很快的了解OpenCL机制以及编程方法。
下载地址:/zones/OpenCLZone/universities/Pages/default.aspx
教程中的英文很简单,相信学OpenCL的人都能看得懂,而且看原汁原味的英文表述,更有利于我们了解各种术语的来龙去脉。
以下是把这些教程翻译成的中文表述,主要是强化理解需要 。
AMD OpenCL大学教程(University Programs)中文版
http://www.csdn.net/article/a//2808887
Lecture 1:并行计算概述 (Introduction to Parallel Computing)
http://www.csdn.net/article/a//2808827
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08827.html
Lecture 2:OpenCL概述 (Introduction to OpenCL)
http://www.csdn.net/article/a//2808830
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08830.html
Lecture 3:OpenCL概述 续篇(Introduction to OpenCL)
http://www.csdn.net/article/a//2808831
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08831.html
Lecture 4:OpenCL概述 续篇
http://www.csdn.net/article/a//2808832
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08832.html
Lecture 5:OpenCL概述 续篇
http://www.csdn.net/article/a//2808833
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08833.html
Lecture 6:GPU架构
http://www.csdn.net/article/a//2808835
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08835.html
Lecture 7:GPU架构 续篇
http://www.csdn.net/article/a//2808841
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08841.html
Lecture 8:OpenCL buffer使用及两个简单例子
http://www.csdn.net/article/a//2808846
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08846.html
Lecture 9:GPU memory 结构
http://www.csdn.net/article/a//2808854
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08854.html
Lecture 10:GPU线程及调度
http://www.csdn.net/article/a//2808864
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08864.html
Lecture 11:性能优化
http://www.csdn.net/article/a//2808869
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08869.html
Lecture 12:性能优化案例NBody
http://www.csdn.net/article/a//2808885
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08885.html
Lecture 13:OpenCL扩展
http://www.csdn.net/article/a//2808886
http://articles.csdn.net/AMDyigoukaifajulebu/ziyuanxiazaiyemian_gongju/08886.html
OpenCL - 迈克老狼2012
/mikewolf2002/category/343145.html
感谢关注 Ithao123PHP频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊

我要回帖

更多关于 tesseract ocr java 的文章

 

随机推荐