Tesseract在OpenCV+Visual Studio 2015下实现OCR

最近参加一个比赛需要在图片中识别文字,网上查找资料可以通过Tesseract实现,Tesseract-OCR是用HP公司团队开发Google团队维护的开源OCR引擎。这里主要说明Tesseract在OpenCV+VS下的环境配置和实现问题。

这里用到的工具(其他版本也类似):

OpenCV3.1.0+Visual Studio2015+Cmake+cppan+tesseract-master

一、下载相关工具

1、下载Cmake。https://cmake.org/download/

这里使用的是cmake-3.10.3-win64-x64版本,直接进行解压即可。将F:\cmake-3.10.3-win64-x64\bin(根据你解压的路径)文件路径加入到环境变量Path中,Cmake配置完成。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第1张图片

2、下载cppan。https://cppan.org/client/

这里下载的是cppan-master-Windows-client.zip。解压后是cppan.exe。将cppan.exe所在的文件路径加入到环境变量Path中,cppan就设置完成了。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第2张图片

3、下载tesseract-master。https://github.com/tesseract-ocr/tesseract

下载tesseract-master,解压到相应位置。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第3张图片

二、编译生成tesseract工程文件

1、运行cppan,下载支持库。

在搜索栏中键入PowerShell(一种命令行外壳程序和脚本环境),选择Windows PowerShell打开。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第4张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第5张图片

  • 1)在打开的脚本环境下键入tesseract-master解压的路径;
  • 2)在该路径下继续在Windows PowerShell下运行cppan,然后回车,等待cppan程序运行;
  • 3)在tesseract-master文件夹下新建文件tebuild,并进入;
Tesseract在OpenCV+Visual Studio 2015下实现OCR_第6张图片

2、运行Cmake,编译生成相关工程。

在Windows PowerShell下运行cmake .. -G "Visual Studio 14 2015 Win64",注意这里-G "Visual Studio 14 2015 Win64"表示是运用VS2015进行编译,生成64位的工程,如果不加生成的是32位的,另外这里是由两个点。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第7张图片

这时在tebuild文件夹下生成了工程tesseract.sln。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第8张图片

三、使用Visual Studio2015对tesseract进行编译。

首先使用Visual Studio2015打开tesseract.sln,分别选择64位Debug和Release平台,然后在菜单栏生成目录下选择生成解决方案。这一过程一般需要花费几分钟时间,

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第9张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第10张图片

第一次生成时一般会出现错误,是由于编码原因造成的,这是双击出错的位置,定位到出错的文件,在文件菜单中选择高级保存选项将其中的编码由Unicode(UTF-8无签名)-代码页65001更换为简体中文(GB2312-80)-代码页20936。重新进行生成。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第11张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第12张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第13张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第14张图片

然后选中解决方案管理器中INSTALL选项,右键选择仅用于项目—>仅生成INSTALL(B)。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第15张图片

注意观察生成窗口显示的信息,在 C:/Program Files/tesseract目录下生成了相应的文件(这里以Debug下为例),终于见到了bin、include、lib等熟悉的名字,其实就是生成的库文件,Release情况也类似。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第16张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第17张图片

四、在Visual Studio 2015中配置环境

上一步编译生成的文件C:/Program Files/tesseract下分别包括了Debug和Release的库,可以将C:/Program Files/tesseract文件从C盘中剪切到其他盘里面(强迫症呀),这里我放到了F盘。在步骤二中建立的F:\tesseract-master\tebuild文件夹下bin文件夹下查找所有的.dll文件,并复制到刚才从C盘复制的文件夹F:\tesseract\bin下。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第18张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第19张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第20张图片

打开一个VS工程,进行环境配置。

分别打开属性管理器的Debug|x64和Release|x64下的属性页

  • 在VC++目录—>包含目录下加入F:\tesseract\include;
  • 在VC++目录—>库目录下加入F:\tesseract\lib;
  • 在链接器—>附加依赖项下加入F:\tesseract\lib\*d.lib和F:\tesseract\lib\*.lib。

整个的配置是在原来的基础上添加这些内容,不删除之前配置的OpenCV的一些环境。

然后将F:\tesseract\bin;加入到环境变量中,否则会提示找不到相应的.dll文件,如果这里报错,可以重新打开工程。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第21张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第22张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第23张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第24张图片

还有一个非常重要的步骤,需要在F:\tesseract-master\tessdata目录下放入训练数据包,可在https://github.com/tesseract-ocr/tessdata进行下载,其中eng.traineddata用于识别英文,chi_sim.traineddata用于识别简体中文,当然也可以生成自己的训练数据库,这样更加贴合自己的实际任务。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第25张图片

至此整个的配置过程结束,下面通过一个例子进行测试。

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第26张图片

Tesseract在OpenCV+Visual Studio 2015下实现OCR_第27张图片


Reference:

http://lib.csdn.net/article/deeplearning/67228


你可能感兴趣的:(Tesseract在OpenCV+Visual Studio 2015下实现OCR)