当前位置:  开发笔记 > 编程语言 > 正文

Tesseract在openCV Mat上失败(安装问题?)

如何解决《Tesseract在openCVMat上失败(安装问题?)》经验,为你挑选了1个好方法。

我想过把它放在超级用户或其他东西上,但由于我的问题与编译后发生的事情有关,我认为这是最好的.

我的系统: ubuntu 14.04 g++ 4.9

我试图在我的C++程序中使用tesseract.

因此,经过相当的努力,我得到了tesseract安装时没有错误安装.我的问题是,在编译和运行我的程序后,我得到了看似罕见的错误:

index >= 0 && index < size_used_:Error:Assert failed:in file ../ccutil/genericvector.h, line 512
Segmentation fault (core dumped)

我可以找到的关于这个错误的一点点是它有时可能是由于缺少语言数据引起的,但是根据这个,我在适当的文件夹中看到了所有正确的文件.

软件版本:tesseract 3.02.02,leptonica-1.71,libjpeg 8d : libpng 1.2.50 : libtiff 4.0.3 : zlib 1.2.8

我的tesseract安装源:这里.我开始尝试tesseract 3.03,但它会失败make.

我使用这些标志编译没有警告:

g++ -Wall -std=c++11 alt_2.cpp -ggdb `pkg-config --cflags opencv` `pkg-config --cflags tesseract` -o alt_2 `pkg-config --libs opencv` `pkg-config --libs tesseract`

这是我使用tesseract的代码:

#include "tesseract/baseapi.h"
...
tesseract::TessBaseAPI tess;
tess.Init(NULL, lang, tesseract::OEM_DEFAULT);
tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);
tess.SetImage((uchar*)col0.data, col0.cols, col0.rows, 1, col0.cols);

tess.GetUTF8Text();

tess.GetUTF8Text();是导致错误的原因.如果注释掉,则不会发生错误.col0是我的Mat图像.

我暂时缺乏想法和耐心.所以,如果有任何善良的灵魂有这方面的经验,请帮助.

谢谢阅读!



1> Trés DuBiel..:

我讨厌回答我自己的问题,但我得到了它的工作.

所以,我删除了所有内容并重新安装了tesseract 3.0.3.在制作文件时我仍然收到错误

libtool: link: g++ -std=c++11 -o .libs/tesseract tesseract-
tesseractmain.o  ./.libs/libtesseract.so -lrt -llept -lpthread
./.libs/libtesseract.so: undefined reference to some_leptonic_functions

所以问题是,虽然tesseract -v报道了leptonica-1.71,但是还有一个debian软件包,它已经被安装了apt-get.所以在sudo apt-get remove libleptonica-dev完成make 之后没有错误,我能够完美地运行代码.

需要说明的是,这需要按来源安装libleptonica和tesseract,而不是apt-get.

我希望这有助于某人,因为这是一个令人沮丧的过程.


回答你自己的问题没有错.比把知识留给自己要好得多.
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有