Tesseract-OCR4.0版本在VS2015上的编译与运行

来源:互联网 发布:mac os sierra 10.13 编辑:程序博客网 时间:2024/06/03 20:42

最近刚开始接触识别库引擎方面的知识,由于项目中需要使用光学识别处理模块,在老师与朋友的推荐下,我开始接触tesseract光学识别库,在最开始从GitHub上下载的源代码进行编译的时候,出现了许多意想不到的问题,为了先完成项目,我借鉴相关博客上针对tesseract3.04以下版本在VS2013上的编译方法,先在VS2013上运行tesseract,然而无法在VS2015上成功编译源代码,这让我一直纠结着,终于在和我们公司的齐工的一次探讨中,我们尝试了一种新的编译方法,测试结果显示编译成功,tesseract成功运行。
对于tesseract4.0的编译我将它分为五个步骤:
1.预处理部分,下载编译工程所需要的cmkae与cppan软件,并设置相应的环境变量,从GitHub上下载tesseract的相应源代码;
2.在解压的tesseract目录下运行cppan,下载一些图片解压缩等需要的lib与dll;
3.mkdir build目录,即在tesseract目录下新建一个build文件夹;
4.进入build目录,运行cmake,等待10到20分钟,即可生成VS2015项目所需的工程文件;
5.在编译成功的环境下,进入build目录下后缀为sln的工程文件,利用VS2015打开;
6.编译工程目录下的libtesseract工程文件,这时会出现报错现象,这是由于编程语言编码问题造成的,我们需要修改相应的编码格式,使其生成相应的lib与dll;
7.将目录下生成的lib与库文件路径添加到tesseract工程文件下的链接器输入与VC++目录中,点击生成,即可生成相应的.exe文件;
8.在我的电脑高级属性环境变量中添加名为TESSDATA_PREFIX的变量,其值为tesseract文件夹下tessdata文件夹的地址。
好了到这里我们就算大功告成了。

接下来我会一步一步的进行操作:

1预处理部分,下载相应的软件与源代码:

由于编译过程中相应的支持库是由cppan下载的,我们需要下载cppan并设置其环境变量,cppan的下载地址为:
官网网址链接为https://cppan.org/client/
在Windows平台下根据自己电脑的属性选择相应的版本进行下载
我下载的是cppan-master-Windows-client.zip文件,解压缩以后就是一个cppan.exe文件,如下图所示:
在这里我们将解压缩以后文件夹的名字命名为cppan
接下来是设置环境变量,右键点击“我的电脑”,点击属性,在弹出的系统属性对话框中,选择高级,点击进入环境变量,在系统变量里面选择PATH变量,将cppan.exe所在的文件路径作为环境变量的值,这里我们就算是配置好cppan了。
然后是下载最新的cmake,并进行配置环境变量:
cmake官网下载地址为https://cmake.org/download/
根据电脑的版本选择相应的下载链接
我的电脑是X64版本的,所以我下载的是Windows win64-x64下的下载链接,即cmake-3.8.0-win64-x64.zip文件,解压缩以后将cmake-3.8.0-rc2-win64-x64目录下的bin文件夹的目录地址加载至系统环境变量PATH中,与cppan设置环境变量的方法一致。
预处理的最后一步是从GitHub上下载tesseract4.0的源代码,下载的地址是
https://github.com/tesseract-ocr/tesseract
在该界面下选择clone or download,如下图所示
选择download zip即可下载最新版本的tesseract源代码
然后我们解压缩,将其中所有的文件复制到我们新建的文件夹tesseract下(我个人觉得tesseract名字短,使用方便)

2运行cppan,下载相应的支持库

我使用的win10系统,所以在左下角Windows图标下鼠标右键单击,在弹出的界面中选择WIndows PowerShell管理员(A)选项,在运行cppan过程中,有可能杀毒软件会报错,可以先关闭杀毒软件。
将盘符切换到tesseract文件夹所在的盘,即输入相应盘的名称即可,我的tesseract在G盘,我输入的是G:,回车键即进入了G盘,如下图所示:
这里写图片描述
由于我昨天在G盘下才创建了一个tesseract的工程,我们将测试的tesseract放置在E盘下,直接E:即可切换到E盘下,输入命令cd tesseract即可进入tesseract文件夹下,如下图所示:
这里写图片描述
在该目录下,我们继续在Windows PowerShell下运行命令cppan然后回车,等待cppan程序运行,(安装电脑管家的记得在运行此步骤之前关闭电脑管家,不然杀毒软件将cppan识别为病毒会自动退出命令行)如下图所示:
由于我昨天已经下载了相应的支持库,所以这里cppan只会读取昨天下载的空间里面的内容,如果之前没有下载过,那么cppan就会自动下载相应的文件,网速快的话,一两分钟就搞定了

3 tesseract文件夹下新建build文件夹,并进入build文件夹

在命令行中输入mkdir build即可新建一个build文件夹,然后cd build进入该目录中,如下图所示
这时我们就已经进入build目录下啦
可以在文件夹中查看是否新建了build文件夹,如下图所示:
这里写图片描述
你看下面是不是已经有了,build文件夹,这个文件夹是用来存放生成的VS2015的项目工程文件

4 运行cmake进行编译生成工程文件

我们继续在刚才运行的Windows PowerShell下运行以下命令
cmake . .
!!!注意后面两个dot不能省略
运行情况如下图所示:
这里写图片描述
你看正在生成关于VS2015的工程文件,做到这里我们可以去喝杯咖啡或者茶休息会了,因为编译时间大概为10到20分钟,具体的情况要看各位的电脑了。
这里写图片描述
到这里我们已经成功生成VS2015的工程文件了,接下来的步骤就是进入VS2015中进行具体的操作啦!

进入工程文件,编译libtesseract

这里我们已经成功生成该项目的工程文件了
在build目录下找到tesseract.sln文件,用VS2015打开该文件;
在菜单中选择生成解决方案的生成选项,由于是第一次进行生成,未进行任何修改,应该会报错的
这里写图片描述
我们等待它进行生成,这个过程中对CPU的占用率差不多是100%,有可能在运行其他程序时出现卡顿,但这是正常的现象,编译过后就不会出现这种情况了
这时出现了错误
这里写图片描述
上图中第一个错误是由于编码原因造成的,我们点击错误,进入生成该错误的文件中
这里写图片描述
在第250到251行出现错误,我们在菜单栏中点击文件目录下的高级保存选项
这里写图片描述
进入之后,将编码由Unicode(UTF-8无签名)更换为简体中文(GB2312)-代码页936
这里写图片描述
这里写图片描述
然后再进行生成,这时显示已经成功生成
这里写图片描述
然后进入tesseract工程下,右键选择生成
这里写图片描述
等待片刻后即可成功生成
这里写图片描述
再回到该文件所在的目录中,查找生成的工程文件
这里写图片描述
你看所有的文件都在此文件夹下面啦,然后我们去配置TESSDATA_PREFIX环境变量

配置TESSDATA_PREFIX环境变量

这里写图片描述
在tesseract目录中的tessdata文件下应该要下载eng.traineddata文件,这是英文的训练文件,大家按照自己的需要下载需要的文件
下载地址是https://github.com/tesseract-ocr/tessdata
也可以在后期的项目需要中,训练自己的识别库
然后再我的电脑中系统变量中新建一个名为TESSDATA_PREFIX的变量,该变量的值为tessdata文件夹的路径,设置好以后,记得使环境变量生效(ps前面设置环境变量也是要记得使环境变量生效)

测试生成的目标文件

我们随便找了一张图片,命名为binary.tiff;
这里写图片描述
然后运行cmd命令tesseract.exe binary.tiff out
这里写图片描述
这时已成功生成out.txt
打开out.txt文件
这里写图片描述
这里写图片描述
这时编译的文件已可以开始进行识别工作,做到这里也算是大功告成了!

3 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕了胃疼的厉害怎么办 孕晚期老是胃疼怎么办 孕晚期半夜胃疼怎么办 吃多了反胃想吐怎么办 抽烟胃恶心想吐怎么办 孕妇7个月头疼怎么办 我的世界狗死了怎么办 户户通搜不到台怎么办 两车相撞我全责怎么办 我全责自己的车怎么办 没有我你怎么办 酷我 仿古砖上的水泥怎么办 异界气息的ss怎么办 前夫威胁我我该怎么办 怀孕了不确定孩子是谁的怎么办 怀孕了不是老公的怎么办 吃油了反胃想吐怎么办 微盘又不能用怎么办 人在无助的时候怎么办 当人迷茫的时候怎么办 当你没钱的时候怎么办 最无助的时候能怎么办 心累了怎么办的句子 人的心累了怎么办 心累了怎么办幽默回答 书法印章盖反了怎么办 手机看yy直播卡怎么办 电脑看yy直播卡怎么办 手机yy直播很卡怎么办 dnf打团网络卡怎么办 dnf打团网络冲突怎么办 苹果6s听筒声音小怎么办 手机传话器坏了怎么办 微信不能发语音怎么办 台式电脑声卡坏了怎么办 微信说话声音小怎么办 微信不能语音了怎么办 微信不能发语音怎么办? 苹果6话筒声音小怎么办 微信视频杂音大怎么办 微信语音有杂音怎么办