1)安装相关软件:

下载ccpan,把路径放到path(右击电脑,选择“属性”,选择左边的“高级系统设置”,选择“环境变量”,找到“系统变量”里面的“path”,点击“编辑”,选择右边的“新建”,输入如下图1)。(我把cppan.exe放到c:\cppan\)

图1

2)安装cmake(我选择类似自动安装的方式)

3)下载tesseract和leptonica-1.74:

将下载后的tesseract解压后在文件夹搜索框中搜索所有.h文件,新建一个文件夹命名为tesseract-vs2015并在该文件夹中新建一个文件夹命名为tesseract,将上述得到的.h文件复制到里面。

将下载的leptonica解压后在文件夹搜索框中搜索所有.h文件,在文件夹tesseract-vs2015中新建一个文件夹命名为leptonica,将上述得到的.h文件复制到里面。

4)打开cmd窗口。

红色框即为我在cmd中输入的代码。

图2

图3

5)编译sln文件

打开tesseract/win64/,找到tesseract.sln,用vs2015打开,选择release,x64,如下图4.再选择build,选择build solution,如下图5。

图4

图5

6)修改编码错误:

在vs的错误列表里双击错误的文件后,单击 文件-高级保存选项修改编码方式为:简体中文GB2312-代码页936

7)重新生成

通过第六步后单击重新生成解决方案

8)保存生成的文件:

通过以上操作后在tesseract/win64/bin下可以看到如下图的.dll文件。

将其中的.dll文件复制,在上述步骤所建tesseract-vs2015文件夹中新建一个文件夹并命名为bin并将刚刚复制的.dll文件粘贴到当中去。在从tesseract/win64的某个文件夹中找到tesseract400.lib并将其复制,在上述步骤所建tesseract-vs2015文件夹中新建一个文件夹并命名为lib,并将刚刚复制的lib文件粘贴在里面。然后从C:\Users\Administrator\.cppan\storage\lib\ddbdbe4c\Release中将pvt.cppan.demo.danbloomberg.leptonica-1.74.4.lib,复制到tesseract-vs2015\lib文件夹下。

9)在vs2015中配置tesseract4.0:

新建一个空的控制台程序。并找到下图位置

双击.x64.user出现如下图:

单击VC++目录,将tesseract-2015/include/tesseract和tesseract-2015/include/leptonica这两个路劲包含在VC++目录下的包含目录下,如图

再将tesseract-2015/lib路径包含在VC++目录下的库目录中。在单击链接器-输入,将tesseract-2015/lib中的两个lib文件的名字添加到附加依赖项中。如图;

最后把tesseract-2015/bin文件夹路径放到系统的环境变量中的path值中即可。

注:将生成的所有dll文件放在Release目录下,才编译成功。

11)网络上的测试代码:

#include<iostream>

#include <baseapi.h>

#include<allheaders.h>

#include <cv.h>

#include <highgui.h>

using namespace std;

int main()

{

char *outText;

tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();

// Initialize tesseract-ocr with English, without specifying tessdata path

if (api->Init(NULL, "eng")) {

fprintf(stderr, "Could not initialize tesseract.\n");

exit(1);

}

// Open input image with leptonica library

Pix *image = pixRead("D:\\opencvlianxi\\la\\1.jpg");

api->SetImage(image);

// Get OCR result

outText = api->GetUTF8Text();

printf("OCR output:\n%s", outText);

// Destroy used object and release memory

api->End();

delete[] outText;

pixDestroy(&image);

return 0;

}

api->SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);

api.SetPageSegMode(tesseract::PSM_AUTO);//设置自动进行版面分析

api.SetAccuracyVSpeed(tesseract::AVS_FASTEST);//要求速度最快

api->SetRectangle(30, 86, 590, 100);

api->Init("/usr/src/tesseract-3.02/", "eng");
  1. #include "stdafx.h"
  2. #include "tesseract\baseapi.h"
  3. #include "tesseract\strngs.h"
  4. int _tmain(int argc, _TCHAR* argv[])
  5. {
  6. const char * image = "image.jpg";  
  7. tesseract::TessBaseAPI  api;
  8. api.Init(NULL, "eng", tesseract::OEM_DEFAULT);
  9. api.SetVariable( "tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" );
  10. STRING text_out;
  11. if (!api.ProcessPages(image, NULL, 0, &text_out))  
  12. {
  13. return 0;  
  14. }
  15. printf(text_out.string());
  16. return 0;  
  17. }

如何在vs2015中编译并配置tesseract4.0的更多相关文章

  1. 如何在Idea中编译构建Spring Framework 5.x

    如何在Idea中编译构建Spring Framework 5.x 安装配置Gradle(略) 下载源码:git clone https://github.com/spring-projects/spr ...

  2. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

  3. VS2015+Windows 10下配置opencv3.0

    博客园样式换了,原先的文章排版太乱了,新发一篇 ##0. 安装 opencv 3.0 首先去官网下载安装包(其实是个压缩包),释放到随便的一个路径里面为了方便描述,下面把这个路径称为 cvPath. ...

  4. Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...

  5. visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功

    看vc++技术内幕时 如果你使用的是比此书的附带项目更新版的vs时千万不要使用这种方法,这些对编译都有影响. 请使用当前新版的vs并输入书中改动的代码就Ok,因为vs会生成合理的mfc代码,养成好的习 ...

  6. 如何在Windows中编译Linux Unix的代码(采用cygwin)?

    来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html   作者:rocky_y 很多经典算法往往是用C++在linux下实 ...

  7. 如何在VS2015中使用Git命令提示符

    本文转载自 http://qkxue.net/info/176223/Visual-Studio-Git VS2015自带了Git插件,但有时候觉得Git控制台命令更方便些.VS中本身不能把Git B ...

  8. 如何在vue-cli 中适当的配置,来满足自己项目需求 ?

    1. 改变index.js 中端口号host host:'localhost' 改为 host: '0.0.0.0' 然后换成自己的ip 访问: 2. 在vue 中运行cnpm run start 中 ...

  9. 记录5-如何在UltraEdit中编译和运行Java

    1点击“高级”,再点击“工具配置” 2点击“插入”,在“菜单项”名称上输入“编译java程序”,在“命令行”里输入“javac %n%e”,在工作目录上填“%p”. 3切换到“输出”项,选择“输出到列 ...

随机推荐

  1. Javascript 2.9

    对象:属性和方法属性:隶属于某个特定对象的变量方法:只有某个特定对象才能调用的函数 对象和方法都用"."来访问: Object.property Object.method() 由 ...

  2. Linux第五节课学习笔记

    Linux系统中的一切都是文件,命令就是命令文件. 命令执行分为4步: 1.路径+命令名称. 2.别名.可用alias命令创建别名. 3.内部命令. 4.外部命令.99%的情况都属于第四种.定义这些路 ...

  3. 芯灵思Sinlinx A64开发板 Linux内核等待队列poll ---阻塞与非阻塞

    开发平台 芯灵思Sinlinx A64 内存: 1GB 存储: 4GB 开发板详细参数 https://m.tb.cn/h.3wMaSKm 开发板交流群 641395230 阻塞:阻塞调用是指调用结果 ...

  4. 【原创】Bug管理操作规范个人经验总结

    1. 禅道简介 禅道是一个基于“敏捷开发”模式的软件开发全生命周期管理软件,在国内的软件开发公司里占据最大的份额,从大公司到小公司,都能适用. 笔者使用禅道多年,根据自己的经验总结了一套Bug管理的方 ...

  5. supervisor 文档

    supervisor 是用 Python 开发的一个 C/S 服务.是 Linux/Unix 系统下的进程管理工具.它可以很方便的监听.启动.停止.重启一个或多个进程.用Supervisor管理的进程 ...

  6. eclipse+gradle

    一.gradle 下载与安装 下载地址:http://services.gradle.org/distributions/ 下载后,放到:D:\gradle-4.6 在系统环境变量path,中加:D: ...

  7. win2008安装并配置zabbix3.4 agent

    agent 下载地址: https://www.zabbix.com/download_agents 下载解压后有2个文件夹,一个是bin,存放32位和64位执行程序,一个是conf目录存放着配置文件 ...

  8. 内存泄漏学习案例-1-ArrayList

    解决 内存泄漏 于是赶快登陆探测服务器,首先是 top free df 三连,结果还真发现了些异常. 我们的探测进程 CPU 占用率特别高,达到了 900%. 我们的 Java 进程,并不做大量 CP ...

  9. vue 中 相同的路由不会跳转,更改路由的办法

    vue 开发的项目,路由跳转的时候,是相同的路由是不会跳转,页面也不会有更新的 有时候 必须要跳转怎么办, 更改一个参数,num,一直在改变.就可以进入了. this.$router.push({ p ...

  10. python基础知识11---函数1

    函数 一.背景 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处 ...