【发布时间】:2015-08-16 18:22:48
【问题描述】:
我两天前在 answers.opencv.org 上发布了这篇文章,现在我也在这里发布。 http://answers.opencv.org/question/68634/text-contrib-module-and-tesseract/
大家下午好。首先,对不起我的英语呵呵。 我一直在尝试构建 opencv contrib 模块“文本”,但是我 还没有成功。注意:像 xfeatures2d 这样的其他模块从来没有 给我一个问题。
我的平台是 windows 7 x64,我使用 VS2013 作为编译器,我已经 跟着这个 教程(http://vorba.ch/2014/tesseract-3.03-vs2013.html) 为了 将 Tesseract 3.04 构建为 LIB,但在编译成功后,我 想用cmake生成vproj,问题是 以下:
在 CMake GUI 中,之前选择了 opencv 源,EXTRAS 目录等,我没有得到'Tesseract'组下的变量 正确地(包括和库)。我知道,因为当我点击 配置,日志显示“Tesseract:否”。
我检查了 FindTesseract cmake 脚本,我认为它 不工作....
拜托,任何人都可以给我一些关于发生了什么的线索吗?如何 我可以构建 opencv 文本模块来使用 Tesseract 函数吗?
我还尝试编译文本模块,将链接路径添加到 Tesseract 但是当我想在我的程序中使用时,我得到关于未定义的链接错误 符号...
这种情况困扰了我好几天。在那里 有人在windows下使用文本模块吗?
没有人可以帮助我吗?我已经取得了一些进展,现在 cmake GUI,我说 Tesseract:是的。问题是我没有找到链接 leptonica 库的条目,它不在同一个 Tesseract 组中,而是在“未分组条目”中。
好的,现在问题仍然存在,由 cmake 创建的 VS 解决方案没有正确构建文本模块,因为我可以看到 Lept lib 大约为 9Mb,TesseractLib 为 128Mb(在 /MT 和调试中),但是 opencv_text300d.lib只有12Mb。出了点问题……
我不确定我必须使用哪个 tesseract 版本。我用两种组合训练: liblept168-static-mtdll-debug.lib + libtesseract302-static-debug.lib 和 liblept171-static-mtdll-debug.lib + libtesseract304-static-debug.lib
当然,当我将文本模块链接到我的程序时,它会给我带来链接错误。
链接错误如下所示:opencv_text300d.lib(ocr_tesseract.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl tesseract::PageIterator::BoundingBox(enum tesseract::PageIteratorLevel,int *,int *,int *,int *)const " (?........................
...
#include "opencv2/text.hpp"
...
string output;
cv::Mat aux;
Ptr<OCRTesseract> ocr = OCRTesseract::create();
ocr->run(aux, output);
...
显然,我已经为我的项目设置了额外的包含目录、链接器额外的库目录以及向文本模块输入额外的依赖项。
真的,非常感谢你。
【问题讨论】:
标签: windows opencv visual-studio-2012 tesseract