首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用QT5.8构建Tesseract OCR

用QT5.8构建Tesseract OCR
EN

Stack Overflow用户
提问于 2017-05-02 12:05:19
回答 3查看 4.3K关注 0票数 3

我有一个基本的空QT5.8项目,我想集成特塞尔库来处理这个问题。我找不到任何完整的步骤说明如何做到这一点,所以我希望有人能分享经验。

我想在我的代码中使用这样的东西:

代码语言:javascript
复制
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>

我知道我需要向.pro文件(例如LIBS、HEADERS)添加一些额外的说明,但我不知道是否有任何正确的方法可以做到这一点。

QT5.8

Windows 10

MinGW 32位

EN

回答 3

Stack Overflow用户

发布于 2017-05-05 11:27:13

"with Qt“部分是多余的,您实际上不需要”使用Qt“来使用泛型库。

库需要使用相同的,或者至少是二进制兼容的编译器来构建。实际的构建指令可以找到这里

至于Qt文件,您只需单击左侧栏(项目树)中的项目名称和"Add“,然后根据您使用的lib类型遵循向导。

它将以下列格式产生必要的项目定义:

代码语言:javascript
复制
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib

INCLUDEPATH += $$PWD/../../../projects/mylib
DEPENDPATH += $$PWD/../../../projects/mylib

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a 
票数 1
EN

Stack Overflow用户

发布于 2019-06-05 12:09:24

Ubuntu和MacOS

可以找到这里,并在Ubuntu的.pro中添加以下行:

代码语言:javascript
复制
INCLUDEPATH += /usr/local/include/tesseract
INCLUDEPATH += /usr/local/include/leptonica
LIBS += -ltesseract -llept

Windows

您应该编译tesseract项目,并且可以找到完整的逐步指令( 这里 )。

代码语言:javascript
复制
win32:CONFIG(release, debug|release): LIBS += -L'C:/Program Files/tesseract/lib/' -ltesseract50
else:win32:CONFIG(debug, debug|release): LIBS += -L'C:/Program Files/tesseract/lib/' -ltesseract50d
INCLUDEPATH += 'C:/Program Files/tesseract/include'
票数 1
EN

Stack Overflow用户

发布于 2017-05-11 09:55:28

我曾经在一个也使用OpenCV的项目中这样做过一次,在Tesseract还没有进入稳定的分支之前。这使得我可以省略所有的图像读取库,因为我会通过OpenCV完成这些工作。最后,我通过Cygwin编译了Tesseract,但这使我可以在我的MinGW32项目中使用二进制兼容的库。

我大部分时间都跟随着http://vorba.ch/2014/tesseract-cygwin.html。我将Leptonica 1.72配置为:

代码语言:javascript
复制
./configure --without-giflib --without-zlib --without-libpng --without-jpeg --without-libtiff --without-libwebp --without-libopenjpeg

如果在cygwin下编译轻子子,源路径中不能有任何空格,否则就会出现偏离“\”错误。

要编译tesseract本身,您将发现MinGW不提供strtok_r.h。但是,Tesseract包含了strtok_r.cpp的一个版本,因此最简单的修复方法是编辑ambigs.cpp并将#include "strtok_r.h“替换为函数签名:

代码语言:javascript
复制
char *strtok_r(char *s, const char * sep, char ** p);

MinGW在math.h中有一个关于_hypot函数的错误。用issue (没有下划线)替换它解决了这个问题。

这是我当时为自己记录的所有东西。如果您有什么问题,请告诉我,这样我就可以知道我是否忘了包括任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43737452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档