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

接下来我将介绍通过调用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;
}

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

Tesseract学习(三)相关推荐

  1. 统计学习三要素 模型+策略+算法

    统计学习方法都是由模型. 策略和算法构成的. 即统计学习方法由三要素构成, 可以简单地表示为:方法=模型+策略+算法 模型 统计学习首要考虑的问题是学习什么样的模型. 在监督学习过程中, 模型就是所要 ...

  2. 深度学习三巨头也成了大眼萌,这个一键转换动画电影形象的网站竟因「太火」而下线...

    机器之心报道 作者:魔王.杜伟 想不想在动画电影中拥有自己的角色?这个网站一键满足你的需求,不过竟因流量太大成本过高而下线. 近期热映的电影<花木兰>总是让人回想起 1998 年上映的同名 ...

  3. 2020届 AAAI Fellow名单新鲜出炉!!!深度学习三巨头终于齐聚

    点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 AAAI 是国际人工智能领域最权威的学术组织,Fellow 是该学会给予会员的最高荣誉 ...

  4. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  5. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  6. TweenMax动画库学习(三)

    目录               TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)           ...

  7. 实至名归!ACM宣布深度学习三巨头共同获得图灵奖

    昨日晚间,ACM(国际计算机学会)宣布,有"深度学习三巨头"之称的Yoshua Bengio.Yann LeCun.Geoffrey Hinton共同获得了2018年的图灵奖,这是 ...

  8. 【技术综述】图像与CNN发家简史,集齐深度学习三巨头

    文章首发于微信公众号<有三AI> [技术综述]图像与CNN发家简史,集齐深度学习三巨头 没有一个经典的发现会是突然之间横空出世,它总是需要一些积淀. 提起卷积神经网络,我们总会从LeNet ...

  9. spring security 学习三-rememberMe

    spring security 学习三-rememberMe 功能:登录时的"记住我"功能 原理: rememberMeAuthenticationFilter在security过 ...

  10. C#多线程学习(三) 生产者和消费者

    C#多线程学习(三) 生产者和消费者 原文链接:http://kb.cnblogs.com/page/42530/ 本系列文章导航 C#多线程学习(一) 多线程的相关概念 C#多线程学习(二) 如何操 ...

最新文章

  1. 对称加密算法_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...
  2. JavaScript标准库系列——RegExp对象(三)
  3. 简单-三层-存储过程-增删改四
  4. SQLite3单例模式(C++)
  5. 使用openvswitch网桥连接不同的network namespace
  6. 【NOIP1999】【Luogu1020】导弹拦截
  7. Does Your Wooden Surface Really Need Sealing?
  8. web安全day24:一文读懂Linux系统安装软件的几种方法
  9. biztalk中常用调试方法
  10. 微信小程序api封装方案
  11. 美图秀秀拼接渐变过渡_如何使用Web组件创建渐变过渡
  12. 横向合计代码 锐浪报表_报表开发常见问题解答 - 锐浪报表工具
  13. ESP32+AMG8833+RGB屏240*320(ST7789)红外热成像
  14. 微信朋友圈两大神秘江湖帮派:养生党、鸡汤党
  15. You earned your Program Management Professional (PgMP)® Credential
  16. Qt实现在QLabel上显示图片并进行线条/矩形框/多边形的绘制
  17. JVM 内存分哪几个区,每个区的作用是什么
  18. 光速虚拟机手机谷歌服务器,光速虚拟机一款安卓上的模拟器,在安卓手机里再装一个安卓系统...
  19. 怒刷python作业(西北工业大学cpSkill平台)
  20. 使用git上传本地项目到码云

热门文章

  1. 唱吧android逆向加密算法笔记 此文章已做脱敏处理不会对原厂家app安全构成威胁,仅供学习
  2. Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html
  3. 快速正确的搭建一个微服务架构需要了解的那几个点
  4. 2015-2023年全球医疗器械公司100强(附细分领域排行)
  5. 音频声音太小怎么调大?
  6. python处理fasta文件_Python脚本:fasta文件单序列信息提取
  7. MySQL 3306端口被占用 ERROR 1043 (08S01): Bad handshake
  8. ssh导出数据库的数据到Excel表格
  9. Excel 宏 将工作表中的数据按照顺序分拆到 本工作簿 的其他工作表
  10. 网络设备器出现黄色感叹号有线链接无线链接选项均消失