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

来源:互联网 发布:radiohead知乎 编辑:程序博客网 时间:2024/06/06 11:40

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

1.预备工作

下载上述参考库的文件,解压下有!
[解压后的内容]
(http://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注意事项

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

阅读全文
0 0