在 Windows 10 中使用 vcpkg 安装 Tesseract
Tesseract install using vcpkg in Windows 10
我的设置: 目前我在 visual studio 2017 年 Windows 10.
中使用 c++
objective:开始在我的基本 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;
}
看起来你的 tesseract 包已经为 x64 平台安装,但你的项目设置似乎是在 x86 中。更正它并确保在库设置中选择 "multi-threaded dynamically linked"。如果一切顺利,MSCV IDE 将在运行时自动将这些依赖 DLL 复制到您的应用程序目录。
我的设置: 目前我在 visual studio 2017 年 Windows 10.
中使用 c++objective:开始在我的基本 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;
}
看起来你的 tesseract 包已经为 x64 平台安装,但你的项目设置似乎是在 x86 中。更正它并确保在库设置中选择 "multi-threaded dynamically linked"。如果一切顺利,MSCV IDE 将在运行时自动将这些依赖 DLL 复制到您的应用程序目录。