Tesseract入门-VS2015下调用Tesseract4.0 +win7 64位系统

本文是基于最近的OCR识别项目学习ocr开源库-tesseract的简单调用,不涉及其余视觉知识。
参考文献:http://blog.csdn.net/u012566751/article/details/54136836
参考库:http://download.csdn.net/download/u010554381/10044876

1.预备工作

下载上述参考库的文件,解压下有!
[解压后的内容]
(https://img-blog.csdn.net/20171030145427018?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDU1NDM4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
需要安装tesseract4.0 alpha版本,安装过后需要增加环境变量(比较简单,不知道的话可以自行百度),增加内容为“D:****\Tesseract-OCR”,“*”内容为上述安装路径;还需增加一个系统变量,变量名为“TESSDATA_PREFIX”,内容为“D:*\Tesseract-OCR”,该系统变量的意义貌似是可以找到tesseract的dll文件(但我试过了不管用不知道是自己配置是否有问题,有大神知道的话可以告诉我下,我修改)。

2.环境配置

环境配置和opencv类似,创建一个win32工程。

2.1配置包含目录和库目录

在属性页中找到VC++目录,配置其中的包含目录和库目录,如下图所示;
这里写图片描述

2.2配置附加依赖项

这里写图片描述

2.3 DLL文件

此处总感觉有问题,不能正确找到DLL文件的路径,采用笨方法,将相应的DLL文件拷贝到工程的执行目录下,如下图所示:

源文件位置

3 接口调用示例

加入如下代码:该代码来源于tesseract官方
https://github.com/tesseract-ocr/tesseract/wiki/APIExample修改版本

#include <stdio.h>
#include <allheaders.h>
#include <capi.h>void die(const char *errstr) {fputs(errstr, stderr);exit(1);
}int main(int argc, char *argv[]) {TessBaseAPI *handle;PIX *img;char *text;//原图像的绝对路径 if ((img = pixRead("D:\\1.tif")) == NULL)   die("Error reading image\n");handle = TessBaseAPICreate();if (TessBaseAPIInit3(handle, NULL, "eng") != 0)die("Error initialising tesseract\n");TessBaseAPISetImage2(handle, img);if (TessBaseAPIRecognize(handle, NULL) != 0)die("Error in Tesseract recognition\n");if ((text = TessBaseAPIGetUTF8Text(handle)) == NULL)die("Error getting text\n");fputs(text, stdout); //输出OCR识别的文本信息system("pause");TessDeleteText(text);TessBaseAPIEnd(handle);TessBaseAPIDelete(handle);pixDestroy(&img);return 0;
}

4可能遇到的问题和注意事项

4.1错误:This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details

解决方法:
这里写图片描述

4.2注意事项

千万千万不要把库解压到含有中文路径的文件夹下,不然可能会导致一些莫名的错误!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab simulinK笔记06——代数环

★代数环 代数环,就是由于模型的输出反馈到模块或子系统的某个输入端&#xff0c;如果这个输入 是直接馈入的&#xff0c;那么二者在同一个采样点内需得到求解&#xff0c;但又互相依赖,哪一方都不 能完成求解过程&#xff0c;使得解算器无法解算导致错误产生&#xff0c;这样的…

基于python3的Opencv(一)-打开摄像头显示图像

基于Python3的Opencv学习&#xff1a; import cv2 as cv def video_demo(): #0是代表摄像头编号&#xff0c;只有一个的话默认为0capturecv.VideoCapture(0) while(True):ref,framecapture.read()cv.imshow("1",frame) #等待30ms显示图像&#xff0c;若过程中按“Esc…

.Net中的AOP系列之《方法执行前后——边界切面》

返回《.Net中的AOP》系列学习总目录 本篇目录 边界切面 PostSharp方法边界方法边界 VS 方法拦截ASP.NET HttpModule边界真实案例——检查是否为移动端用户真实案例——缓存小结本系列的源码本人已托管于Coding上&#xff1a;点击查看。 本系列的实验环境&#xff1a;VS 2013 Up…

Opencv SolvePnP调用实战

1.环境说明与应用说明 VS2015opencv3.4&#xff0c;实际应用在MFC环境中&#xff01;主要是用来做定位&#xff0c;利用平面靶标给机器人的工具快换提供定位信息 2.实际调用 CV_EXPORTS_W bool solvePnP( InputArray objectPoints, InputArray imagePoints, …

matlab simulink笔记05 —— 积分模块

1.连续积分模块&#xff1a;integrator 例子见&#xff1a;matlab simulink笔记06 —— 利用simulink求解微分方程/simulink框图与控制系统框图的区别

squid在企业网中的应用

一&#xff1a;squid简介&#xff1a; Squid是一种在Linux系统下使用的优秀的代理服务器软件。Squid是一个缓存internet数据的一个软件&#xff0c;它接收用户的下载申请&#xff0c;并自动处理所下载的数据。也就是说&#xff0c;当一个用户想要下载一个主页时&#xff0c;它向…

win10+tensorflow faster-RCNN 训练自己的数据集

首先&#xff0c;感谢博客上各路大佬的无私奉献&#xff01;但是也不得不吐槽下&#xff0c;大佬些写博客的时候能尽量写的对小白友好一点吗&#xff1f;期间遇到各种坑&#xff0c;说多了都是泪啊&#xff01;话不多说&#xff0c;上正题&#xff01; 环境&#xff1a;win10a…

matlab simulnk笔记07——模块(接地模块group、终止模块terminal、信号合并mux与分解模块demux)

1.接地模块group 2.终止模块terminal 3.信号合并mux 注意:合并仅仅指的是物理上的合并,数学上真正意义上的合并,只是将多个信号放在同一个管道上统一传输给显示终端,但是每个信号之间互不影响,是相

二叉搜索树的插入与删除图解

一、二叉搜索树&#xff08;BSTree&#xff09;的概念 二叉搜索树又被称为二叉排序树&#xff0c;那么它本身也是一棵二叉树&#xff0c;那么满足以下性质的二叉树就是二叉搜索树&#xff1a;1、若左子树不为空&#xff0c;则左子树上左右节点的值都小于根节点的值2、若它的右子…

面试总结

lru算法&#xff1a;最近最少使用  1.新数据插入到链表头部&#xff1b;  2.每当缓存命中&#xff08;即缓存数据被访问&#xff09;&#xff0c;则将数据移到链表头部&#xff1b;  3.当链表满的时候&#xff0c;将链表尾部的数据丢弃。 自定义控件&#xff1a; 1.measu…

win10+anaconda安装tensorflow和keras遇到的坑小结

win10下利用anaconda安装tensorflow和keras的教程都大同小异&#xff08;针对CPU版本&#xff0c;我的gpu是1050TI的MAX-Q&#xff0c;不知为啥一直没安装成功&#xff09;&#xff0c;下面简单说下步骤。 一 Anaconda安装 一般来说&#xff0c;python选择3.6的&#xff0c;目…

现代制造工程课堂笔记07——应力应变分析(考点应力莫尔圆)

目录 选择判断题&#xff0c;简单计算在莫尔圆那里出 一、单向拉伸中的应力应变 手写笔记 选择判断题&#xff0c;简单计算在莫尔圆那里出 一、单向拉伸中的应力应变 、 手写笔记

win10+tensorflow CPU 部署CTPN环境

刚弄明白CTPN部署的时候&#xff0c;CTPN作者刚更新了简易代码版本&#xff0c;看介绍是把代码优化了不需要多的配置。。。感觉好忧伤&#xff01; 源码地址&#xff1a;https://github.com/eragonruan/text-detection-ctpn/tree/master 新版本地址&#xff1a;https://githu…

css如何实现背景透明,文字不透明?

之前做了个半透明弹层&#xff0c;但设置背景半透明时&#xff0c;子元素包含的字体及其它元素也都变成了半透明。对opacity这个属性认识的不透彻&#xff0c;在这里做一些总结&#xff0c;方便以后使用。 背景透明&#xff0c;文字不透明的解决方法&#xff1a;为元素添加一个…

是什么时候开始学习gulp了

转自&#xff1a;http://www.ydcss.com/archives/18 简介&#xff1a; gulp是前端开发过程中对代码进行构建的工具&#xff0c;是自动化项目的构建利器&#xff1b;她不仅能对网站资源进行优化&#xff0c;而且在开发过程中很多重复的任务能够使用正确的工具自动完成&#xff1…

matlab GUI——按下按钮在指定的坐标下绘制函数图像

目录 1.组件布局 2.回调函数设置 3.编写回调函数 1.组件布局 2.回调函数设置 右键单击plot按钮——查看回调——call backs

【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模。团队中的架构师会通过建模确定应用程序是否满足客户的需求。 你可以创建不同级别的详细模型&#xff0c;并将它们彼此结合、测试然后发布到你的开发计划里。 在这个实验中…

深度学习基础(一)起源

目录 一、DP的前世 1.perceptron 2.NN 3.DP 二、DP的基础知识 1.convolution 2.padding 3.pooling 4.Flatten 5.fully connected 6.dropout 一、DP的前世 深度学习发展至今经历颇为曲折&#xff0c;上世纪起源&#xff0c;火热起来也是20世纪初的时候&#xff0c;具体时…

ANSYS经典界面中梁单元实例全解析

转载链接&#xff1a;http://www.jishulink.com/content/post/361389 文中红色部分为自己添加&#xff01;&#xff01;&#xff01; 转载的文章中提到的梁单元截面是常用的工字形&#xff0c;那么要是不规则的截面形状的话需要自己进行截面形状绘制&#xff0c;具体可以参考…