我两天前在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:NO”。
我检查了 FindTesseract cmake 脚本,我认为它
不起作用....
拜托,任何人都可以给我一些关于发生了什么事的线索吗?如何
我可以构建 opencv 文本模块来使用 Tesseract 函数吗?
我还尝试编译文本模块,将链接路径添加到 Tesseract
但是当我想在我的程序中使用时,我收到有关未定义的链接错误
符号...
这种情况让我困扰了好几天。有人在windows下使用text module吗?
没有人能帮助我吗?我已经取得了一些进展,现在 cmake GUI,Tesseract 对我说:是的。问题是我没有找到用于链接 leptonica 库的条目,它不在同一个 Tesseract 组中,而是在“未分组条目”中。
好的,现在问题仍然相同,cmake 创建的 VS 解决方案没有正确构建文本模块,因为我可以看到 Lept lib 约为 9Mb,TesseractLib 为 128Mb(在 /MT 和调试中),但是 opencv_text300d.lib 只有 12Mb 。出了点问题......
我不确定我必须使用哪个版本的超正方体。我尝试过两种组合:
liblept168-static-mtdll-debug.lib + libtesseract302-static-debug.lib
和
liblept171-static-mtdll-debug.lib + libtesseract304-static-debug.lib
当然,当我将文本模块链接到我的程序时,它会给我链接错误。
链接错误如下所示: opencv_text300d.lib(ocr_tesseract.obj) : errorLNK2019: 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);
...
显然,我已经使用附加包含目录、链接器附加库目录和向文本模块输入附加依赖项来设置我的项目。
真的,非常感谢您。