Tesseract + opencv 3.0 + windows,文本模块尺寸小,链接错误

2023-12-15

我两天前在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);
...

显然,我已经使用附加包含目录、链接器附加库目录和向文本模块输入附加依赖项来设置我的项目。

真的,非常感谢您。


我面临着同样的问题。我想出的解决方案是编辑文本模块中的 CMakeLists.txt 文件。

Replace

if(${Tesseract_FOUND})
include_directories(${Tesseract_INCLUDE_DIR})
endif()

with

add_definitions( -DWINDOWS)
add_definitions( -DNOMINMAX)
SET(Tesseract_DIR "C:\\tesseract-build\\tesseract-ocr")
SET(Lept_DIR "C:\\tesseract-build\\lib")
include_directories(
        ${Tesseract_DIR}/api
        ${Tesseract_DIR}/ccutil/
        ${Tesseract_DIR}/ccstruct/
        ${Tesseract_DIR}/ccmain/
    )
link_directories( ${Tesseract_DIR}/vs2013/bin/Win32/DLL_Release/
                  ${Lept_DIR}/
                  ${Lept_DIR}/Win32/
                )   

当您运行 Cmake 时,Tesseract 仍然为 no,并且 Tesseract/Leapt 库应该为空。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tesseract + opencv 3.0 + windows,文本模块尺寸小,链接错误 的相关文章

随机推荐

  • 从 UWP 应用程序中提取图标

    在尝试实现 打开方式 功能时 我遇到了从 UWP 应用程序提取图标的问题 因此 在收到推荐的应用程序列表后 借助以下命令打开特定文件SHAssocEnumHandlers 我试图在以下命令的帮助下提取每个应用程序的图标IAssocHandl
  • Windows 上 Boost.Python 1.54(调试版本)对 Python27.lib 的令人困惑的依赖关系

    我一定犯了某种明显的错误 但经过几个小时的战斗 我无法取得进一步的进展 升级到 Boost 1 54 CMake 2 8 12 和 Python 2 7 5 所有三个均来自slightly早期的次要版本 我的 Python 绑定projec
  • 如何获取 Pandas 数据框中所有非 NaN 项的行、列索引

    如何迭代如下所示的数据帧并将非 NaN 值位置作为元组返回 IE df 0 1 2 0 NaN NaN 1 1 1 NaN NaN 2 NaN 2 NaN 我会得到 0 1 2 0 1 2 的输出 最好的方法是执行嵌套 for 循环吗 或者
  • C++中M个盒子中N个球的组合列表

    我想编写一个函数 生成一个元组数组 其中包含 C 中 M 个盒子中 N 个球的所有可能排列 顺序 编辑 在结果列表中 并不重要 只是第一个必须是 N 0 0 和最后一个 0 0 N 我在网上没有找到这样的C 实现 只有字符的排列或排列数量的
  • 如何在 matplotlib 中使用交互式事件编辑表格数据

    在图中创建了一个表格 现在我想在双击单元格后编辑表格 添加 删除或修改该单元格中的数据 就像Excel中的编辑功能一样 我的python版本是3 64 代码如下 import matplotlib pyplot as plt import
  • 如何使用列表理解生成不同 lambda 函数的列表?

    这个问题是从涉及 Tkinter 按钮回调函数的原始应用程序中提炼出来的 这是说明该行为的一行 lambdas lambda i for i in range 3 如果您随后尝试调用生成的 lambda 函数 lambdas 0 lambd
  • mechanize 标签 br.set_handle_gzip 的作用是什么?

    我正在尝试 python mechanize 模块来编写一些脚本 当我运行它时 出现以下错误 set handle gzip 实际上是什么 manoj ubuntu pyth python rock py rock py 15 UserWa
  • 如何使用 Watir-Webdriver 不等待

    所以我正在编写一个 watir webdriver 脚本 并且我的应用程序正在使用 javascript 来呈现我想要与之交互的模式窗口 当我单击显示模态窗口的元素时 watir webdriver 只是坐在那里 直到最终超时 我在控制台窗
  • 撤销git中已删除的文件?

    新手需要一些帮助来解决混乱 我试图将我的网站推送到 git 存储库 所以我使用了 git add 命令 然后 在提交之前 我意识到我已经添加了根文件夹中的所有内容 而不仅仅是我想要的目录 由于我不想进行该提交 因此我使用 git rm ch
  • 大熊猫的累计不同计数

    我有一个数据框 其中有一列名为group另一列称为country 我想创建一个新列 输出不同值的累积计数country列同时分组group column 原始数据框 group country A usa A germany A germa
  • 如何比较 char* 和 NSString?

    您好 我正在比较数据库中的 UserName char 和 UITextField 中的 UserName NSString 这个怎么做 以下是我的代码 if UserName isEqual char sqlite3 column tex
  • htaccess 阻止热链接图像中的域

    我阻止了文件中的一些站点 但它们不断访问我的服务器并要求提供会减慢我的服务器速度的图像 我如何为它们添加规则 以便它们会看到大红色标志 停止热链接 RewriteEngine on RewriteCond HTTP REFERER Rewr
  • Rails 3 自定义 mime 类型 - 默认视图格式

    我需要渲染一些没有布局的视图 要跳过控制器操作中的 render layout gt false 行和 if else 逻辑 我有自定义 mime 类型 例如 phtml 纯 html Mime Type register text pht
  • 在 Bicep 模板上设置 Azure 应用服务服务器堆栈

    我正在尝试使用 Azure CLI 中的 Bicep 模板在 Linux 上部署 NET Core 3 1 Azure 应用服务 应用程序服务和相应的应用程序服务计划已正确部署 但 Azure 门户上的应用程序服务堆栈设置为空 我必须手动设
  • 当 WIFI 网络没有互联网连接时,.net 或 Xamarin 互联网可用性检查

    我知道如何检查设备是否有可用的互联网连接是一个大讨论 我尝试了 Ping WebClient 和 HTTPClient 我还使用 Xamarin Essentials 和连接插件 所有这些事情都有效 只需向谷歌或您选择的服务器发出请求 您就
  • Android:Vimeo 视频无法在 webview 中播放

    我必须在 webview 中播放 vimeo 视频 请考虑以下代码 当我播放它时 它只播放音频 但视频是黑色的 我正在使用下面的代码 WebSettings s wv getSettings wv setWebChromeClient ne
  • 有没有办法去掉重音符号并将整个字符串转换为常规字母?

    除了使用之外 是否有更好的方法来消除重音并使这些字母变得规则String replaceAll 方法并一一替换字母 例子 Input or p s d Output orcpzsiayd 它不需要包含所有带有重音符号的字母 例如俄语字母表或
  • C# 中字符串的第一个单词

    如何获取字符串的第一个单词 string test hello world I used test Split FirstOrDefault 但它返回 hello 我可以尝试将分隔符添加为逗号 但即使有逗号或空格 我也只需要单词 hello
  • 如何使用 GNU GAS 或 LLVM 汇编 ARM SVE 指令并在 QEMU 上运行?

    我想玩新的ARM SVE指令使用开源工具 首先 我想组装一个最小的示例 https developer arm com docs dui0965 latest getting started with the sve compiler as
  • Tesseract + opencv 3.0 + windows,文本模块尺寸小,链接错误

    我两天前在answers opencv org 上发布了这篇文章 现在我也将其发布在这里 http answers opencv org question 68634 text contrib module and tesseract 大家