【问题标题】:Tesseract install using vcpkg in Windows 10在 Windows 10 中使用 vcpkg 安装 Tesseract
【发布时间】:2018-06-20 15:00:28
【问题描述】:

我的设置:目前我在 Windows 10 上的 Visual Studio 2017 中使用 c++。

目标:开始在我的基本 c++ 应用程序中使用 tesseract ocr。首先,为了确保我能够#include tesseract 库并编译和执行一个非常简单的程序,我正在尝试运行官方tesseract project's "APIExample" page 上提供的下面的简单测试程序。

到目前为止我所做的事情:按照this stack overflow answer 的建议,我在命令提示符下运行了vcpkg install tesseract:x64-windows 命令以及命令.\vcpkg integrate install。当我运行命令vcpkg list 时,我看到了我安装的所有包(如下图所示),但是尽管 Visual Studio 中的这种智能感知给了我错误,说它找不到运行上述测试项目的代码的包含我已经在下面发布了。是什么赋予了?我在下面提供了我的 Visual Studio 设置的屏幕截图,其中包含生成的错误和错误代码以供参考。

#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>

int main()
{
    char *outText;

    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    // Initialize tesseract-ocr with English, without specifying tessdata path
    if (api->Init(NULL, "eng")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        exit(1);
    }

    // Open input image with leptonica library
    Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
    api->SetImage(image);
    // Get OCR result
    outText = api->GetUTF8Text();
    printf("OCR output:\n%s", outText);

    // Destroy used object and release memory
    api->End();
    delete[] outText;
    pixDestroy(&image);

    return 0;
}

【问题讨论】:

    标签: c++ package installation tesseract vcpkg


    【解决方案1】:

    看起来您的 tesseract 包已经安装在 x64 平台上,但您的项目设置似乎是 x86 中的。更正它并确保您在库设置中选择“多线程动态链接”。如果一切顺利,MSCV IDE 会在运行时自动将这些依赖 DLL 复制到您的应用程序目录中。

    【讨论】:

    • 我将 x86 更改为 x64,现在它可以编译了,这是个好消息。对于您提到在库设置中选择“多线程动态链接”的第二步,Visual Studio 中的库设置在哪里?我在任何下拉菜单下都找不到它们。
    • 因为在我粘贴到原始帖子中的那个简单测试程序中,第 9 行的 if 语句 if (api-&gt;Init(NULL, "eng")) 被触发了哪些错误,打印出“无法初始化 tesseract”。一旦我发现如何启用“多线程动态链接”可能会解决问题吗?
    • 在您的项目属性页中的 c++/code Generation /Runtime library 下选择 multi-threaded debug DLL 。希望您能够使用依赖库文件构建可执行文件。
    • 非常感谢您的帮助。我检查并发现“多线程调试DLL”已经被选中。问题似乎是对api-&gt;Init(NULL, "eng") 的调用返回-1,它触发了if 语句as shown in this image.。我不确定这是英语语言数据的问题还是其他问题。
    • 另外,如果我删除该 if 块并尝试运行我在控制台窗口上收到 this error 的程序。
    猜你喜欢
    • 2022-01-12
    • 2018-11-12
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 2023-01-12
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多