c++ - 在 Windows 中使用 Tesseract 4

标签 c++ visual-c++ tesseract

我很难在 Windows 中使用 tesseract ocr。这是我安装的: tesseract-ocr-w32-setup-v4.0.0-rc1.20181002.exe 来自这里:

https://github.com/UB-Mannheim/tesseract/wiki

enter image description here

并且我已经在我的机器上安装了。之后,我设置了环境变量

enter image description here

但是当我尝试使用此命令从图像中获取文本时:

C:\Users\flaviu.marc>tesseract c:\Flaviu\imagine.png C:\Flaviu\output.txt

我收到以下错误:

Error opening data file C:\Program Files (x86)\Tesseract-OCR\eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Could not initialize tesseract.

你能帮我解决我的问题吗?我正在尝试在 VC++ 应用程序中使用 tesseract,但我得到的错误与我在命令行中使用 tesseract 时完全相同。

更新环境变量后:

enter image description here

我收到以下错误:

C:\Users\flaviu.marc>tesseract c:\Flaviu\imagine.png C:\Flaviu\output.txt
Tesseract Open Source OCR Engine vv4.0.0-rc1.20181002 with Leptonica
Error in pixReadStreamPng: spp == 1, cmap, trans array, invalid depth: 4

稍后编辑:如果我尝试了另一张图片,现在初始化工作正常,但我仍然有一些错误消息:

Error in pixReadMemTiff: function not present
Error in pixReadMem: tiff: no pix returned
Error in pixaGenerateFontFromString: pix not made
Error in bmfCreate: font pixa not made

为什么我会遇到这些错误?因为当我尝试运行经典代码时(pImage 为 NULL)

Pix* pImage = pixRead(sFileName);
if(NULL == pImage)
{
    m_sError.Format(_T("Could not read image with leptonica."));
    return sRet;
}

代码取自这里:https://github.com/tesseract-ocr/tesseract/wiki/APIExample

以下是我编译 leptonica 的方式: enter image description here

如何编译 libtiff ?我别无选择......

最佳答案

TESSDATA_PREFIX 应该指向包含训练数据文件的目录,例如:

tessdata default

tessdata good quality but slow

tessdata fast but lower quality

关于c++ - 在 Windows 中使用 Tesseract 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52701071/

相关文章:

c++ - OpenGL 可以处理哪些纹理尺寸

c++ - 用于 DNS 更改通知的 Windows API

Visual Studio 中的 C++ 文件扩展名

python - 使用 OpenCV 检测图像中垂直文本的方法

c++ - 在 make 文件中链接 g++ 和 lib 不起作用

c++ - 删除指针失败

c++ - 为什么在这个使用 std::fstream 的简单程序中我的输出文件为空?

c++ - 使用外部类的模板参数设置内部模板类的默认模板参数

image-processing - 降低图片中的噪点以使用 tesseract 启用 OCR

javascript - Tesseract.js 中的多个训练数据