gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:21 25 4
gpt4 key购买 nike

我考虑过将它放在 super 用户或其他东西上,但由于我的问题与编译后发生的事情有关,所以我认为这里最好。

我的系统: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)

关于此错误,我能发现的一点是,它有时可能是由缺少语言数据引起的,但根据 this,我在正确的文件夹中看到了所有正确的文件。 .

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

我的 tesseract 安装源:here .我从尝试 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 图像。

目前我对此完全没有想法和耐心。因此,如果任何善良的灵魂有这方面的经验,请提供帮助。

感谢阅读!

最佳答案

我讨厌回答自己的问题,但我成功了。

因此,我删除了所有内容并重新安装了 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,但它还有一个由 apt 安装的 debian 软件包-get 那是旧的。所以在执行 sudo apt-get remove libleptonica-dev 之后,make 完成且没有错误,我能够完美地运行代码。

需要说明的是,这需要通过源代码安装 libleptonica 和 tesseract,而不是 apt-get

我希望这对某人有所帮助,因为这是一个令人沮丧的过程。

关于c++ - Tesseract 在 openCV Mat 上失败(安装问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34232311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com