tesseract系列(2) -- tesseract的使用
上文说了怎么编译成库,这次说说怎么使用,先验证下编译出来的结果。
下图是debug生成的文件,里面有个tesseract的应用程序。
cmd进入目录下,执行命令:tesseract eurotext.tif euro
eurotext.tif是当前目录下要识别的图片,tif是一种图片的格式,在没接触tesseract之前,我都没听过这种格式,还是特地百度的,可能我是真的菜。
执行完命令以后,会在当前目录下生成一个euro .txt的文件,里面就是识别出来的内容。
新建vs工程,把tiff库和头文件,还有leptonica的库和头文件都加到工程。
如果你是使用的方法2,可能这些文件都很容易的找到,如果是方法1 怎么办呢?
首先说leptonica:
因为我们是使用的cppan自动下载的,所以也不知道存放在什么地方,而且据我测试,不同的电脑,存放的位置也不一样,告诉你们一个特别鸡贼的办法:
leptonica的头文件有个名字是这个arrayaccess.h的头文件。下载安装everything(一个自动搜索的软件,不会的百度吧,很简单)
搜索arrayaccess.h文件,结果如下:
对这个右键,打开路径,提取所有的.h头文件,完毕。
找dll和lib的时候,搜索 anbloomberg.leptonica,各种库都有了啊
下面找tiff的库:
记住要用\.cppan\目录下的,一般都在C盘,反正很好找,库的名字都一样,数字是库的版本号。
头文件搜索ccmain,然后这些文件夹的下的头文件都需要:
或者你们有自己简单的办法可以用啊,我就是自己一点一点瞎找的,反正挺费劲儿。
库都完事了,下面就是写代码。
#include "baseapi.h"
#include "allheaders.h" int main()
{
char *outText;
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
if (api->Init(“E:\\tessdata“”, "eng"))
{
exit(1);
} Pix *image = pixRead("./eurotext.tif");
outText = api->GetUTF8Text();
delete[] outText;
pixDestroy(&image);
return 0;
}
注意啊:
if (api->Init(“E:\\tessdata“”, "eng")) 这里init的时候要加入数据集和模型,我是下载的tesseract的安装包,在安装目录中找到的自带的训练模型,tessdata文件件,然后把文件夹的路径写在了init的里面。 都跑通了才开始记录,全靠回忆,有的地方不是很仔细。
tesseract系列(2) -- tesseract的使用的更多相关文章
- tesseract系列(3) -- tesseract训练
tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从 ...
- tesseract系列(1) -- tesseract用vs编译成库
1.下载teseract 下载地址github: https://github.com/tesseract-ocr/tesseract/releases/ 2.编译源码 源码的编译有两种方式 ...
- tesseract系列(4) -- tesseract训练问题总结
1. 每次训练模型删除目录下,上述重复的名字 2. 生成inttemp.pffmtable文件的时候,如果下述命令(1)不行的话,或者报错,使用命令(2) (1)mftraining -F font_ ...
- [PyImageSearch] Ubuntu16.04下针对OCR安装Tesseract
今天的博文是安装和使用光学字符识别(OCR)的Tesseract库的两部分系列的第一部分. 本系列的第一部分将着重于在您的机器上安装和配置Tesseract,然后使用tesseract命令将OCR应用 ...
- Tesseract API在VS 2013中的配置以及调用
[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19 阅读:127 评论:0 收藏:0 ...
- tesseract api C++使用例子
转自:https://code.google.com/p/tesseract-ocr/wiki/APIExample APIExample API examples Updated Aug 12, 2 ...
- Tesseract Ocr引擎
Tesseract Ocr引擎 1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/t ...
- 【Tesseract】Tesseract API在VS 2013中的配置以及调用
想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib.比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库. 这里我给出经过VS 20 ...
- Android开发如何轻松实现基于Tesseract的Android OCR应用程序
介绍 此应用程序使用Tesseract 3的Tesseract OCR引擎,该引擎通过识别字符模式( https://github.com/tesseract-ocr/tesseract )来工作. ...
随机推荐
- 二十八、CI框架之自己写分页类,符合CI的路径规范
一.参照了CSDN上某个前辈写的一个CI分页类,自己删删改改仿写了一个类似的分页类,代码如下: 二.我们在模型里面写2个数据查询的函数,一个用于查询数据数量,一个用于查询出具体数据 三.我们在控制器里 ...
- bugku-Web flag.php
打开网页发现并没有什么,试了很多次没用. 其实题目中提示了hint,我们就传递一个hint=1试试,发现出现了代码: <?php error_reporting(0); include_once ...
- POJ 1459:Power Network 能源网络
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 25414 Accepted: 13247 D ...
- Linux下mysql5.7安装
当前最新版本为5.7,此次将分别采用yum安装和tar包编译安装的方式分别说明. 一.Yum安装 A:获取repo源 [root@localhost ~]# wget http://dev.mysql ...
- 洛谷 P1709 隐藏口令
题目描述 有时候程序员有很奇怪的方法来隐藏他们的口令.Binny会选择一个字符串S(由N个小写字母组成,5<=N<=5,000,000),然后他把S顺时针绕成一个圈,每次取一个做开头字母并 ...
- request对象和response对象的作用和相关方法
response对象(响应) 响应行 状态码 :setStatus(int a) 设置状态码 302重定向 304控制缓存 响应头 setHeader() 一个key对应一个value addHead ...
- js 关联数组
踩得坑: JS ,通过 new Array()创建了一个数组: var param = new Array();param["key1"] = value1;param[&quo ...
- 干货 | 京东云Kubernetes集群+Traefik实战
摘要 Traefik支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断.负载均衡策略.黑名单.白名单.所以Traefik对于微服务来说简直就是一神器. 利用Traefik,并结 ...
- 最长特殊序列 II
最长特殊序列 II class Solution { boolean containsSub(String s,String p){ int i,j; for(i=0,j=0;i<p.lengt ...
- python pandas字符串函数详解(转)
pandas字符串函数详解(转)——原文连接见文章末尾 在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等 ...