Tesseract学习(三)

         前两篇博客讲的都是通过调用客户端程序的方式来识别图像,但一旦要识别的图片很多的话,识别速度将很不乐观,因为频繁的打开关闭进程、频繁的访问文件都会严重影响程序的时间效率。

     接下来我将介绍通过调用API的方式。刚开始以为通过API的方式只能使用C++写,因为我看过的十几篇博客中都是C++实现的,于是郁闷了很久委屈但后来发现原来有个网站提供C#版的dll,顿时喜极而泣啊有木有哭

     虽然个人习惯用C#,但竟然也研究过C++版的,那就也介绍下吧,说不定将来会用到,下篇博客将重点介绍C#实现的。

     由于官网给的是VS2008的库文件,这对于已经装了VS2010,VS2012的人来说无疑是一个晴天霹雳啊,还好有好心人士停供了已经编译好的VS2010下的dll,下载后引入到项目中,然后经过一系列配置,终于能够完美运行了(ps:虽然过程很心酸。。。)

     下面给出自己总结的配置过程

  1. 为了避免配置环境变量,可以先下载一个tesseract-ocr-setup-3.02.02.exe,然后安装。
  2. 下载VC++ libraries of Tesseract OCR 3.02.02,这里面有需要引用的库文件。
  3. VC++ libraries of Tesseract OCR 3.02.02中的lib和include文件夹拷到tesseract安装目录下(D:\Tesseract-OCR)
  4. 由于lib中libtesseract302d.dll 是针对VS2008的,所以需要用VS2010中的替换,另外还需添加 liblept168.dll 和 liblept168d.dll到lib,点此处下载。
  5. 在环境变量path中增加指向安装目录下lib文件夹的路径,以便exe运行时能找到所需的dll。因为我安装在了D盘根目录,所以写D:\Tesseract-OCR\lib。
     环境变量配置过程:“计算机属性”-“高级系统设置”-“高级”-“环境变量” 在“系统变量”中找到path,双击打开,写入下面匡中的内容。

   6.在自己的工程属性中VC++目录下增加包含目录和库目录,以便VS2010查找文件。例如:

包含目录  新增 D:\Tesseract-OCR\include\tesseract

库目录    新增 D:\Tesseract-OCR\lib

至此配置过程就完成了,接下来在主函数添加以下代码,运行程序:

#include "strngs.h"
#include "baseapi.h"
#include<iostream>
using namespace std;

#pragma  comment(lib,"libtesseract302d.lib")

void main()
{
	tesseract::TessBaseAPI  api;
	api.Init(NULL, "eng", tesseract::OEM_DEFAULT);//初始化,设置语言包
	STRING text_out;  
	api.ProcessPages("C:\\Users\\BoBo\\Desktop\\1.jpg", NULL, 0, &text_out);
	cout<<text_out.string()<<endl;
}

运行结果(图片同上篇博客中的图片):



  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值