Tesseract初始化失败

时间:2018-09-26 08:55:32

标签: c++ visual-c++ mfc tesseract

我在使用tesseract库时遇到问题。我已经使用 VS2017 成功编译了 leptonica tesseract 库。现在,我已将这些库用于MFC项目中,在其中进行了编译,没有任何错误。这是代码:

tesseract::TessBaseAPI api;
if (0 != api.Init(NULL, _T("eng"), tesseract::OEM_DEFAULT))
{
    m_sState.Format(_T("tesseract initialize error"));
    return FALSE;
}

没有什么复杂的,没有错...但是我遇到了两个问题:

  1. 即使不执行此代码,我也会发生大量内存泄漏。
  

检测到内存泄漏!转储对象-> {65734}正常块位于   0x014EEB88,长度为24个字节。数据: 10 00 00 00 08 00   00 00 46 58 44 65 62 75 67 00 {65733}正常块位于0x014EEB40、24   个字节长。数据: 10 00 00 00 08 00 00 00 46 58 44   65 62 75 67 00 {65732}正常块,位于0x03880908,长8个字节。   数据:<> 10 BE 96 0F 00 00 00 00 {65731}正常块位于   0x014EBDA8,32字节长。数据: A8 BD 4E 01 A8 BD   4E 01 A8 BD 4E 01 01 01 CD CD {65730}正常块位于0x03880A20,8   个字节长。数据:<> 04 BE 96 0F 00 00 00 00 {65729}正常   块位于0x014EE990,长度为24个字节。

  1. 每次执行此代码时,应用程序都会通过“ tesseract初始化错误”路线运行。我不明白为什么...

我试图在Win10 64位VS2017上运行此项目,所有库和我的项目均编译为 Debug ...。如果这件事...您可以帮助我以便使用tesseract阅读简单的图像?

最后编辑: 当我将此代码添加到控制台应用程序中时:

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

int main()
{
std::cout << "Hello World!\n"; 

tesseract::TessBaseAPI api;
if (0 != api.Init(NULL, NULL))
{
    std::cout << "tesseract initialize error\n";
    std::cout << "Last error:" << GetLastError() << std::endl;
}
}

我收到以下错误消息:

Hello World!
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
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!
tesseract initialize error
Last error:3

但是我在“程序文件(x86)”中没有任何“ Tesseract-OCR”文件夹...

0 个答案:

没有答案